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 11 and Version 12 of DesignGuidelines


Ignore:
Timestamp:
Apr 21, 2009, 6:38:07 AM (15 years ago)
Author:
MarkDoliner
Comment:

Add a section about non-blockingness

Legend:

Unmodified
Added
Removed
Modified
  • DesignGuidelines

    v11 v12  
    2424
    2525Our source code is very much a 'live' document.  It should reflect what is currently needed, not what used to be needed or what might be needed in the future.  Old code should be removed if it isn't being used (of course, you can only remove public functions and structures when the major version number increases)--it'll always be in the source code repository if anyone needs it.  The code should contain documentation about what it does and why.
     26
     27== Non-blocking ==
     28
     29Pidgin and libpurple are single threaded.  That means that the network code runs in the same process as the user interface.  Network code must be non-blocking, otherwise the UI will be unresponsive.  Code should be event-driven.  Long running tasks should be asynchronous.  File descriptors that need to be watched for changes should be added to the event loop.
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!