Hi,
Is there any way to get the file descriptor on Unix or handle on Windows
associated internally with a threading.Event object? So that it can be
used in a call to select or WaitForMultipleObjects.
Thx and regards,
Nicolas 4 2052
Nicolas Fleury wrote: Hi, Is there any way to get the file descriptor on Unix or handle on
Windows associated internally with a threading.Event object? So that it can
be used in a call to select or WaitForMultipleObjects. Thx and regards, Nicolas
Good idea! But...
There is no event handle used in Event object (for NT at least). Do not
know about Linux...
Unless you want to rewrite the interpreter (namelly
PyThread_allocate_lock.c) for platforms you are talking about, you
would be better of, if you create your own class (derived from Event,
and ovewritte aquire, release and wait methods). el*******@gmail.com wrote: There is no event handle used in Event object (for NT at least). Do not know about Linux...
And there's no handle at all? It's not important if it's not an event
handle as long as it is an handle usable with WaitForMultipleObjects.
Also, I don't understand how it will be possible to implement
threading.Event without using finally, at the lower level, a handle,
since as far as I know this is the mechanisms the OS offers.
Unless you want to rewrite the interpreter (namelly PyThread_allocate_lock.c) for platforms you are talking about, you would be better of, if you create your own class (derived from Event, and ovewritte aquire, release and wait methods).
I wouldn't want to derive from Event since my goal would be to submit a
patch to make subprocess.Popen.wait take an optional threading.Event to
kill the process.
Regards,
Nicolas
//And there's no handle at all?
There is one (check thread_nt.h) you have to "propagate" HANDLE to
Pythom level. That's why, you have to change the interpreter. Do not
forget, that thread is a build-in module.
//I wouldn't want to derive from Event since my goal would be to submit
a
patch to make subprocess.Popen.wait take an optional threading.Event to
kill the process.
And that's it? Right now aquire_lock is non-interruptable, as a result
your Popen.wait is also non-interruptable, but if you pass derived
event you will be able to handle more generic cases. el*******@gmail.com wrote: //And there's no handle at all?
There is one (check thread_nt.h) you have to "propagate" HANDLE to Pythom level. That's why, you have to change the interpreter. Do not forget, that thread is a build-in module.
Sounds fine with me. A fileno (or whatever) function can be added to
threading.Event on all platforms, giving access to internal file
descriptor/handle.
//I wouldn't want to derive from Event since my goal would be to submit a patch to make subprocess.Popen.wait take an optional threading.Event to kill the process.
And that's it? Right now aquire_lock is non-interruptable, as a result your Popen.wait is also non-interruptable, but if you pass derived event you will be able to handle more generic cases.
I'm not 100% sure I understand what you say. Support killing the
process with any handle, not only an event, would be a good thing. But
it doesn't change the fact that, IMHO, the usefulness of threading.Event
is just too limited if it doesn't support select or
WaitForMultipleObjects. I think also that threading.Thread should give
access to its internal handle (at least thread module does).
Regards,
Nicolas This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Kevin |
last post by:
Has anyone else run into random IOErrors ( bad file descriptor) in
multi-threaded Python apps?
I've searched the newsgroups, and the only references I can find to that
seem to be sporadically...
|
by: Graeme Matthew |
last post by:
Hi all
I just cannot seem to find any documentation that shows an example of using
the factory method Event() in threads. I have a thread pool and if there are
no jobs in a Queue I want them to...
|
by: Varun |
last post by:
Hi Friends,
Department of Information Technology, Madras Institute of Technology,
Anna University, India
is conducting a technical symposium, Samhita. As a part of samhita, an
Online Programming...
|
by: pembed2003 |
last post by:
Hi all,
Given something like:
std::ofstream out_file("path");
how do I extract the file descriptor from out_file? Is it possible?
What I want is to extract the file descriptor and then pass...
|
by: John Regan |
last post by:
Hello All
I am trying to find the owner of a file or folder on our network (Windows
2000 Server) using VB.Net and/or API. so I can search for Folders that don't
follow our company's specified...
|
by: Chris Dunaway |
last post by:
Consider the following simple classes/interfaces defined below. When the
derived class raises the events, on which thread is the event code run? Do
I need to do anything to catch the events in my...
|
by: hecklar |
last post by:
This is my first time posting here, so i apologize if i'm posting in the
wrong subgroup or whatever, but here goes...
I’m having a problem with threading and events (permissions?) in a VB.net...
|
by: hg |
last post by:
Hi,
I have two classes, one listens and accepts connections, gets the
socket, reads the first byte from the opened socket then launches a
thread (threading) and gives it the socket identifier.
...
|
by: kingcrowbar.list |
last post by:
Hello Everyone
I have been playing a little with pyGTK and threading to come up with
simple alert dialog which plays a sound in the background. The need for
threading came when in the first...
|
by: DolphinDB |
last post by:
Tired of spending countless mintues downsampling your data? Look no further!
In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
|
by: ryjfgjl |
last post by:
ExcelToDatabase: batch import excel into database automatically...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: Vimpel783 |
last post by:
Hello!
Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
|
by: jfyes |
last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
|
by: PapaRatzi |
last post by:
Hello,
I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
|
by: Faith0G |
last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
| |