public inbox for pthreads-win32@sourceware.org
 help / color / mirror / Atom feed
* Re: Asynchronous cancel
       [not found] <199908101804.EAA24054@ise.canberra.edu.au>
@ 1999-08-12  4:34 ` Ross Johnson
  2000-07-12 14:04   ` minor bug fix for WinCE in dll.c Tristan Savatier
  0 siblings, 1 reply; 2+ messages in thread
From: Ross Johnson @ 1999-08-12  4:34 UTC (permalink / raw)
  To: Rajiv K Shukla; +Cc: pthreads-win32

On Tue, 10 Aug 1999, Rajiv K Shukla wrote:

> Hello All,
> 
> Sorry if the question has been asked before. We're trying to see if we
> could use the pthreads-win32 package to port our code to NT. It's been
> fine so far but we have hit a snag. It seems that
> pthread_setcanceltype doesn't really do anything. It sets an integer
> variable cancelType (which is part of the pthread_t structure) but the
> flag is used no where. Looks like the only way to cancel a thread is
> to call pthread_cancel and within the cancelled thread call
> pthread_testcancel. But we'd like to be able to cancel a thread
> asynchronously, e.g one of our thread sleeps for a configurable amount
> of time and it could be set pretty high, 1 hour, or 10 hours, or
> whatever. If within the thread I need to call pthread_testcancel in
> order to be cancelled then it's a problem. We'd have to wait that much
> time before we're even able to call pthread_testcancel. 
> 
> I'd appreciate any suggestion that you may have.
> 

At present there is no way in general to asynchronously cancel a
thread. The best device on offer in the package is the
pthreadCancelableWait() and pthreadCancelableTimedWait() functions
(both non-POSIX and non-portable). See the code and comments in
misc.c. They respond to pthread_cancel().

Cheers.
Ross

+----------------------+---+
| Ross Johnson         |   | E-Mail: rpj@ise.canberra.edu.au
| Info Sciences and Eng|___|
| University of Canberra   | FAX:    +61 6 2015227
| PO Box 1                 |
| Belconnen  ACT    2616   | WWW:    http://willow.canberra.edu.au/~rpj/
| AUSTRALIA                |
+--------------------------+


^ permalink raw reply	[flat|nested] 2+ messages in thread

* minor bug fix for WinCE in dll.c
  1999-08-12  4:34 ` Asynchronous cancel Ross Johnson
@ 2000-07-12 14:04   ` Tristan Savatier
  0 siblings, 0 replies; 2+ messages in thread
From: Tristan Savatier @ 2000-07-12 14:04 UTC (permalink / raw)
  To: pthreads-win32

Here is a minor bug that I had to fix in order for
pthread-win32 to work on WinCE.  It has to do with
the fact that WinCE uses UNICODE (16-bit chars).

It would not hurt to include this fix the the main tree...

In dll.c:

Replace:

	GetProcAddress(_pthread_h_kernel32,
		       (LPCSTR) "TryEnterCriticalSection");

by

	GetProcAddress(_pthread_h_kernel32,
                      (const TCHAR *)TEXT("TryEnterCriticalSection"));

-t

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-07-12 14:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <199908101804.EAA24054@ise.canberra.edu.au>
1999-08-12  4:34 ` Asynchronous cancel Ross Johnson
2000-07-12 14:04   ` minor bug fix for WinCE in dll.c Tristan Savatier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).