-
Notifications
You must be signed in to change notification settings - Fork 560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not using "no strict 'refs'" in a Thread hangs perl #742
Comments
From abisain@qualcomm.comI have a module which spawns a thread using Thread.pm. The spawned So, I think perl should print an error. Also, there should be a setPriority method in Thread.pm because Perl Info
|
From [Unknown Contact. See original ticket]At 03:33 PM 10/19/99 -0700, Abhijeet Bisain wrote:
Actually, that's not quite the case, or at least it's not supposed to be.
It will. The error will be thrown when you join the thread, unless you eval
Then you've got a mildly deficient threading library. Perl threads will Dan ----------------------------------------"it's like this"------------------- |
From [Unknown Contact. See original ticket]Dan Sugalski writes:
Is not it a default that threads are joinable? a) as thread-conscious people know, having threads joinable is a By default errors in threads should be reported. In a rare situation
Threads without priorities are oximorons (sp?). There *are* some Ilya |
From [Unknown Contact. See original ticket]At 11:54 PM 10/19/99 -0400, Ilya Zakharevich wrote:
It is the default that perl threads are created joinable, yep.
Debatable. Regerdless, it's the way things are at the moment. And the
No. Given the current joinable by default state, the current behaviour is Perl threads are conceptually async subs. You can eval a normal sub to Yes, this will confuse the naive or inexperienced perl developer. So will
Ilya, perl threads are too high a level construct to safely implement Dan ----------------------------------------"it's like this"------------------- |
From @samtregarOn Tue, 19 Oct 1999, Ilya Zakharevich wrote:
What kind of priorities are you talking about? If you mean soft I'd love to see hard RT behavior in Perl on RT platforms, but I think -sam |
From [Unknown Contact. See original ticket]On Wed, Oct 20, 1999 at 06:10:58AM -0400, Dan Sugalski wrote:
*This* is a bug. This is a shell programer's view of the threaded world. There should be a way to create a "real" thread, which never stops
XS, symbol table etc do not stop people who want to do real work.
This I do not follow. What "highlevel" has to do with priorities? If
Threads are not device drivers. Threads are very simple building
If async cancellation would work in C, I would see no reason why it Ilya |
From [Unknown Contact. See original ticket]On Wed, Oct 20, 1999 at 11:30:24AM -0400, Sam Tregar wrote:
I mean priorities in between. Hard/soft priorities which "work". You Ilya |
From @samtregarOn Wed, 20 Oct 1999, Ilya Zakharevich wrote:
Sorry to be a pain, but could you define what a "soft-RT" system is -sam |
From [Unknown Contact. See original ticket]Sam Tregar wrote:
This link has (IMHO) has a "good enough" definition: http://www.realtime-os.com/rtmanifesto/rtmani_4.html |
From [Unknown Contact. See original ticket]On Wed, Oct 20, 1999 at 02:32:36PM -0400, Sam Tregar wrote:
I'm a layman. You will not get a definition from me. I know that OS/2 is not designed to be hard-RT system, but if delays There is a guarantie that the OS is in non-interrable state for no [There are also 3 other priority groups with laxer scheduling This is whooping 50% of what I know. ;-) Ilya |
From [Unknown Contact. See original ticket]At 01:22 PM 10/20/99 -0400, Ilya Zakharevich wrote:
Oh, please Ilya. Just because the model that's implemented doesn't match
Currently not possible. Exiting the main thread kicks off final GC, which You can always detach a thread, but it still better exit before your
And your point is what, exactly? Threads *are* a powerful tool, and they're
Past a certain point, priorities are pretty meaningless. Perl does a *lot*
Of today's programming for *who*? Your average perl programmer? Doubt it.
Async cancel doesn't work for C. Or anyplace else that I've seen. For perl Dan ----------------------------------------"it's like this"------------------- |
From [Unknown Contact. See original ticket]On Wed, Oct 20, 1999 at 04:12:10PM -0400, Dan Sugalski wrote:
Why? It bugs me.
Absolutely. Threads marked as never-ending should be killed without
My point is that this should not stop us from making it simpler/more-powerful.
Like what? Ilya |
From @samtregarOn Wed, 20 Oct 1999, Ilya Zakharevich wrote:
That seems highly suspicious to me - doesn't OS/2 run on x86 hardware?
But no possible garauntee that other processes aren't, right?
Again, on x86 hardware, I don't see that this is possible unless you
But it should be enough to demonstrate that priorities exist at a MUCH NOTE: I'm not an expert on RT systems! If someone with greater knowledge -sam |
From [Unknown Contact. See original ticket]On Wed, Oct 20, 1999 at 05:04:39PM -0400, Sam Tregar wrote:
Am OS/2 device driver is free to do whatever it pleases. You are free
A process can be in non-interrable state only inside a system call.
Well, the idea is that the pain goes to OS designers, not to you. ;-)
???? What do you mean?
This is not a mess. It is a very clean and a very smoothly working Ilya |
From [Unknown Contact. See original ticket]At 04:16 PM 10/20/99 -0400, Ilya Zakharevich wrote:
Yeah, but that doesn't make it a bug in perl. Merely a source of annoyance.
Or something. If not in END, then before exiting. Unfortunately perl *can't* safely nuke threads in a number of cases
Yeah, but nothing you've said really does any of that. Starting detached is
Like guaranteed timing. Like reasonable expectation of execution time. Like Using perl means the programmer abdicates a lot of control to the Dan ----------------------------------------"it's like this"------------------- |
From [Unknown Contact. See original ticket]On Wed, Oct 20, 1999 at 05:22:31PM -0400, Dan Sugalski wrote:
Then it should go into the API.
All this is needed only in hard-RT time world, which today is far away
Hmm? Either it is Perl, or it has training wheels. Choose one. With a sane threading API you need a lot effort to cause (non-obvious) Ilya |
Migrated from rt.perl.org#1665 (status was 'resolved')
Searchable as RT1665$
The text was updated successfully, but these errors were encountered: