This is the mail archive of the cygwin-patches@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

FW: sched* functions, pthread rework


Doh! sent it to ezmlm
> -----Original Message-----
> From: Robert Collins 
> Sent: Wednesday, March 21, 2001 11:15 AM
> To:
> cygwin-patches-sc.985034813.hnjamfflckgaejhnpmeo-robert.collin
> s=itdomain
> .com.au@sources.redhat.com
> Subject: sched* functions, pthread rework
> 
> 
> Ok here's round one of a full overhaul of the pthreads code.
> 
> This appears fully stable to me. Rather than emulating some 
> of the win32
> features (such as using an array to store the thread list) this simply
> utilises win32 for most of the functionality needed. I've 
> replaced a lot
> of the Macro'd one liners (about 6 lines er macro) with two 
> line tests,
> which has aided my debugging unbelievable.
> 
> For clarity: the sched* functions are not thread related and should be
> in cygwin1.dll even when it's built non threaded..
> 
> New files: sched.cc, include/semaphore.h, include/sched.h
> 
> There are still 6 FIXME's in the code: 3 are notes for adding optional
> features, 2 are from before my time and I'll look into them shortly. 1
> is because I haven't implemented the pthread_key_* destructor 
> logic yet.
> I'll be doing that shortly... but now was a good point to the core of
> the work into CVS (it's nice and stable :] ).
> 
> Next on the hit list are the pthread_cleanup* functions and 
> the pthread_
> fork related functions.
> 
> Changelog:
> 21 Mar 2001 Robert Collins <rbtcollins@hotmail.com>
>     * sched.cc: new file, implements sched*
>     * include/sched.h: , new file, user land includes for sched*
>     * Makefile.in: added sched.o
>     * cygwin.din: added exports for sched*
>     * pinfo.h: reference pthread instead of class ThreadItem
>     * include.pthread.h typedef pthread_*_t as void * not 
> int. Also add
> some posix defines.
>     * pthread.cc: ran indent. Also added pthread_attrset/get
> detachstate.
>     * thread.cc: full rewrite of core logic. MTitem class removed, new
> classes for each pthread_ type.
>                         Added pthread_attr_setdetachstate &
> pthread_attr_getdetachstate.
>                         fixed pthread_exit and return logic.
>     * thread.h: removed MTitem class, simplified MTinterface, 
> added new
> classes for each pthread_* type.
> 
> 
> Rob
> 

sched.h

semaphore.h

sched.cc

pthread_rework.patch


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]