Limitations of Open C

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Created: spark55 (13 Sep 2007)
Last edited: hamishwillee (27 Jul 2012)

Every technology which is in development has their own limitations, so do Open C.

Some limitations of Open C (considering the present status) are listed below:

  • No support for IPv6. (This may affect a lot VoIP solutions).
  • fork() and exec() functions are not supported.
  • As mentioned above, fork() and exec() are not supported, so, popen() is not complete. This function just creates a child process and opens a pipe between a parent and a child process, either in read or write mode. It does not copy the address space to a child, nor copies all the open descriptors in the parent process to the child.
  • Some APIs of Open C assume that a cleanup stack is created and there is a top-level TRAP for the current thread. All the threads created using RThread::Create should create them explicitly.
  • One more important missing thing is that Open C does not support "signals", because a Symbian C++ thread cannot be made to execute a "signal handler" spontaneously.
  • It is not possible to create a file with write only permission (Symbian OS does not support it).

The following functionalities are not supported by libc, due to platform limitations:

  • Signal
  • Fork
  • Exec
  • popen (only partial support)
  • wait() and waitpid() behave differently from the standard.
  • IPv6
  • dup2 will return the duped fd as the return value of dup2 so do not use newfd as a valid one. It may not be the valid fd.
This page was last modified on 27 July 2012, at 04:19.
23 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.