[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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]