Yet another threading question...

Discussion in 'Python' started by Jim West, Jun 26, 2003.

  1. Jim West

    Jim West Guest

    Good day all,

    Ok, I'm starting to get the hang of this Python thing...really pretty
    cool actually. Again, thanx to those that have helped me thus far.

    I now have another stumbling block to which I would like help.

    Ok, here is my enviroment:

    Windows 2K
    Python 2.2
    MinGW and MSys

    I'm writing a Python extension to a 3rd party DLL that controls an
    external hardware toy.

    One of the DLL methods is a callback registration interface. The 3rd
    party DLL is threaded as the callback is asynchronous.

    I'm able to call my extension function via Python to "register" my
    Python function as the callback function via a C function proxy in the
    extension.

    All is well until the DLL invokes the callback. When the callback
    attempts to invoke my "registered" Python function the Python
    interpreter bails with an access violation.

    I'm thinking it may have something to do with threading and thus am
    asking for your insight to this.

    I'm thinking I may have to put my proxy C callback function in it's
    own thread. If so, then would some kind soul point me in the right
    direction as to how to do this with just the MinGW environment since we
    do not have nor use MSVC++.

    Thank you.

    - Jim
    Jim West, Jun 26, 2003
    #1
    1. Advertising

  2. Jim West

    Kevin Guest

    I've been pondering the exact same issue, but haven't gotten that far in
    wrapping the 3rd-party C library I'm working with.

    I was thinking of stubbing the callback to a Python function that sets an
    event flag, and have a Python thread monitoring that event to handle it.
    I'm not sure if that will cure your access violation, but it may. You
    should also make sure that your wrapper gets the GIL (Python Global
    Intepreter Lock) before making the Python function call to set the event.

    Let me know if you try that, or if you get it to work some other way... I'll
    be beating my head into the same problem pretty soon and could use the heads
    up!

    Thanks,
    Kevin Cazabon


    "Jim West" <> wrote in message
    news:...
    > Good day all,
    >
    > Ok, I'm starting to get the hang of this Python thing...really pretty
    > cool actually. Again, thanx to those that have helped me thus far.
    >
    > I now have another stumbling block to which I would like help.
    >
    > Ok, here is my enviroment:
    >
    > Windows 2K
    > Python 2.2
    > MinGW and MSys
    >
    > I'm writing a Python extension to a 3rd party DLL that controls an
    > external hardware toy.
    >
    > One of the DLL methods is a callback registration interface. The 3rd
    > party DLL is threaded as the callback is asynchronous.
    >
    > I'm able to call my extension function via Python to "register" my
    > Python function as the callback function via a C function proxy in the
    > extension.
    >
    > All is well until the DLL invokes the callback. When the callback
    > attempts to invoke my "registered" Python function the Python
    > interpreter bails with an access violation.
    >
    > I'm thinking it may have something to do with threading and thus am
    > asking for your insight to this.
    >
    > I'm thinking I may have to put my proxy C callback function in it's
    > own thread. If so, then would some kind soul point me in the right
    > direction as to how to do this with just the MinGW environment since we
    > do not have nor use MSVC++.
    >
    > Thank you.
    >
    > - Jim
    >
    >
    >
    Kevin, Jun 27, 2003
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Martin
    Replies:
    3
    Views:
    377
    Martin
    Jul 24, 2003
  2. Berehem
    Replies:
    4
    Views:
    530
    Lawrence Kirby
    Apr 28, 2005
  3. Replies:
    9
    Views:
    1,001
    Mark Space
    Dec 29, 2007
  4. Steven Woody
    Replies:
    0
    Views:
    393
    Steven Woody
    Jan 9, 2009
  5. Steven Woody
    Replies:
    0
    Views:
    428
    Steven Woody
    Jan 9, 2009
Loading...

Share This Page