[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] Exploring networking, threading
From: |
Markus Fritsche |
Subject: |
[Help-smalltalk] Exploring networking, threading |
Date: |
Sun, 24 Aug 2003 20:25:58 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 |
I think I know my problem better now. First, I changed
NetThread>>#newProcess a bit:
^([ self run ] forkAt: priority) name: (self class name, ' Process')
(it's better to now your processes). Then I did:
1 ()
2 ()
3 ()
4 (CallinProcess('call-in process' at userSchedulingPriority, active)
Process('SmallservSession Process' at userSchedulingPriority, ready to
run) )
5 ()
6 ()
7 ()
8 ()
9 ()
Tada - as call-in process on console (almost) never yields (should it),
SmallservSession doesn't have the chance to run. So I have to change
NetThread>>#defaultPriority from userSchedulingPriority to lowIOPriority.
But I'm curious: why does the server response some times when I'm
evaluating
"[ true ] whileTrue: [ [] fork ]!"?
- Is there a race condition somewhere?
- Is the following comment outdated by "--enable-preemption"?
- How stable is "--enable-preemption"?
- I noticed some crashes with "--enable-jit" and/ or
"--enable-preemption" (especially with TCP-Package - sometimes the vm
crashes, sometimes not) - would it help to send backtraces?
timeSlice: milliSeconds
"Set the timeslice that is assigned to each Process before it is
automatically preempted by the system. Setting this to zero
disables preemptive multitasking. Note that the system by
default is compiled with preemptive multitasking disabled, and
that even if it is enabled it will surely work only under BSD
derivatives (or, in general, systems that support ITIMER_VIRTUAL)."
processTimeslice := milliSeconds
Kind regards, Markus
- [Help-smalltalk] Exploring networking, threading,
Markus Fritsche <=