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.
- 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
-
v11
|
v12
|
|
24 | 24 | |
25 | 25 | Our 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 | |
| 29 | Pidgin 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!