Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Events in linux

Author: Robert Hyatt

Date: 15:17:59 04/25/01

Go up one level in this thread


On April 25, 2001 at 17:08:48, Vincent Diepeveen wrote:

>On April 25, 2001 at 10:03:51, Robert Hyatt wrote:
>
>>On April 25, 2001 at 07:48:25, Vincent Diepeveen wrote:
>>
>>>On April 25, 2001 at 02:01:15, Hristo wrote:
>>>
>>>>On April 24, 2001 at 23:50:37, Robert Hyatt wrote:
>>>>
>>>>>On April 24, 2001 at 22:50:41, Hristo wrote:
>>>>>
>>>>>>select(..) doesn't do it. ;-(((
>>>>>>wish it did!!!!
>>>>>>select(..) works within a different domain and in general
>>>>>>can not compare to WaitForMultipleObjects. ;-(
>>>>>>WaitForMultipleObjects is, kind of like, select(..) on steroids!
>>>>>>...
>>>>>>The unix style is to keep things simple, which pays off when there
>>>>>>is good design!
>>>>>>
>>>>>>hristo
>>>>>
>>>>>
>>>>>why can't you produce the same effect with a group of descriptors?  Writing
>>>>>to such a descriptor from the "other end" will set that condition so that
>>>>>select() will terminate...  IE it seems like a small kludge, but it would
>>>>>seem to allow the same sort of capability...???
>>>>
>>>>How to make sure that all (ALL) descriptors are set before select returns.
>>>>Lets say I want select to return wtith either ALL-descriptors-set or
>>>>NO-descriptors-set? Perhaps it can be done!? For me it's easier to
>>>>think of this problem as a bunch of cond+mutex variables...
>>>>This is what MS can do to ya ... get people spoiled and lazy ...
>>>>and offers complicated solutions ... you use them and then you are stuck,
>>>>because one never takes the time to find the simple, elegant solution.
>>>>
>>>>hristo
>>>
>>>Oh well, you can also do things in assembly of course
>>>that's even more low level as non-ms is offering.
>>>I prefer highlevel things which are fast!
>>>
>>>But see my previous post to bob what i want. I have 2 possible
>>>event which are set in shared memory:
>>>  a) go search
>>>  b) quit
>>>
>>>for a special linux implementation i can modify that to a gosearch
>>>command always to then quit when getting out of the loop.
>>>
>>>No big probs to do that. So basically 1 event is what i can rewrite it
>>>to.
>>>
>>>How to rewrite in linux next thing:
>>>     for( ;; ) {
>>>       sleep(100);
>>>       if( sharedtree->gosearch )
>>>         break;
>>>     }
>>>     if( sharedtree->quitprogram )
>>>       ..
>>>
>>>No problems here to rewrite it to this. Just want it solved for linux!
>>>
>>>Best regards,
>>>Vincent
>>
>>Why not just let the I/O thread _kill_ the search process rather than telling
>>it to exit.  Or send it a signal where its signal handler will simply exit()?
>
>Shared memory doesn't get freed automatically in linux if a process gets
>killed. I prefer to to it in a neat way :)
>
>Also it's hard to start a new process over and over again just for
>every move, you filled killertables for nothing etc.


Sure it can.  Just catch the signal, detach the shared memory object,
free it if you want, then exit.




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.