Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Changes between Version 8 and Version 9 of WhatIsLibpurple


Ignore:
Timestamp:
Sep 29, 2007, 4:12:14 AM (16 years ago)
Author:
evands
Comment:

Made this page more true

Legend:

Unmodified
Added
Removed
Modified
  • WhatIsLibpurple

    v8 v9  
    1717= Is it threaded? =
    1818
    19 Nope!  libpurple uses the glib mainloop to do all the things.  It watches socket for new data and calls timeout functions after a specified delay.  It's easiest if your application also uses the glib mainloop, but this is not required.
     19libpurple is ''not'' threadsafe.  It should be accessed by an implementing UI only one thread ''ever'' (that is, do not attempt to use synchronization or locks to access it from multiple threads).   Plugins can use multiple threads, but they must always call libpurple functions and callbacks on the thread on which they were initialized (typically the main thread of the program).
     20
     21libpurple's run loop access occurs through eventloop.c; the UI must implement the UI Ops defined there and register them in order to watch sockets for new data and call timeout functions after a specified delay.  For example, Pidgin uses the glib run loop, and Adium uses the Cocoa event run lop.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!