diff -r 89d6a7a84779 -r 25a17d01db0c Symbian3/PDK/Source/GUID-38BE7105-309E-5372-98EE-BCA0ADD0ACBA.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/PDK/Source/GUID-38BE7105-309E-5372-98EE-BCA0ADD0ACBA.dita Fri Jan 22 18:26:19 2010 +0000 @@ -0,0 +1,12 @@ + + + + + +Hybrid Applications

P.I.P.S. applications can be written either as pure C or as hybrid applications which mix native Symbian C++ and Standard C. In addition to the core P.I.P.S. libraries, an application can also use P.I.P.S. extensions or third-party C shared libraries. Hybrid applications can also link against native Symbian platform libraries.

The use cases for hybrid applications are as follows:

Threads and hybrid applications

The pthread and RThread APIs do not mix. Symbian platform heaps are managed thread-wise whereas P.I.P.S. heaps are managed process-wise. Mixing pthread and RThread may result in panics due to data being lost or orphaned. So, do not mix the two unless you know what you're doing.

User libraries or executables written using P.I.P.S. must not allocate resources in the context of the calling thread as the thread might be using a private heap which is inaccessible to other threads and might have a different lifetime.

To minimise the risks avoid using RThread APIs in primarily POSIX applications or libraries (those entering via main()), and avoid using pthread in primarily Symbian platform applications or libraries (those entering via E32Main()).

\ No newline at end of file