×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Binary-incompatible change in Open C to require proper permission checks for creating IPC resources (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
hamishwillee (Talk | contribs)
m (Hamishwillee - Add Abstract. Tidy wiki text)
Line 1: Line 1:
[[Category:Symbian C++]][[Category:Open C/C++]][[Category:Known Issue]][[Category:S60 3rd Edition]]
+
[[Category:Symbian C++]][[Category:Open C/C++]][[Category:Known Issue]][[Category:S60 3rd Edition]][[Category:Compatibility]][[Category:Symbian]]
{{KBKI}}
+
{{Abstract|This known issue outlines binary incompatible changes to the Open C architecture in the next release. These changes will improve the performance and better adhere to POSIX standards.}}
__NOTOC__
+
 
__NOEDITSECTION__
+
 
{{ArticleMetaData <!-- v1.2 -->
 
{{ArticleMetaData <!-- v1.2 -->
 
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
Line 25: Line 24:
 
|author= [[User:Technical writer 1]]
 
|author= [[User:Technical writer 1]]
 
<!-- The following are not in current metadata -->
 
<!-- The following are not in current metadata -->
|subcategory= IPC, Compatibility
 
 
|id= KIS001077
 
|id= KIS001077
 
}}
 
}}
 
{{Archived|timestamp=20120223111221|user=roy.debjit| }}
 
{{Archived|timestamp=20120223111221|user=roy.debjit| }}
==Overview==
 
To improve the performance and better adhere to POSIX standards, the next release of Open C will undergo some changes in the architecture. Some of the changes will also affect the binary compatibility with previous releases.
 
  
 
==Description==
 
==Description==
Proper permissions must now be defined when creating IPC (inter-process communication) resources ({{Icode|shm}}, {{Icode|semaphore</tt, and <tt>msgqueue}}). The flag argument (value) can no longer be just {{Icode|IPC_CREAT}}. Specifying only {{Icode|IPC_CREAT}} means that the IPC resource is created with absolutely no permissions, and will result in {{Icode|EACCESS}} error.
+
Proper permissions must now be defined when creating IPC (inter-process communication) resources ({{Icode|shm}}, {{Icode|semaphore}}, and {{Icode|msgqueue}}). The flag argument (value) can no longer be just {{Icode|IPC_CREAT}}. Specifying only {{Icode|IPC_CREAT}} means that the IPC resource is created with absolutely no permissions, and will result in {{Icode|EACCESS}} error.
  
 
==How to reproduce==
 
==How to reproduce==

Revision as of 06:08, 24 February 2012

This known issue outlines binary incompatible changes to the Open C architecture in the next release. These changes will improve the performance and better adhere to POSIX standards.

Article Metadata
Tested with
Devices(s): All (S60 3rd Edition devices)
Compatibility
Platform(s): S60 3rd Edition
Symbian
S60 3rd Edition (initial release)
Article
Created: User:Technical writer 1 (20 Aug 2008)
Last edited: hamishwillee (24 Feb 2012)

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Description

Proper permissions must now be defined when creating IPC (inter-process communication) resources (shm, semaphore, and msgqueue). The flag argument (value) can no longer be just IPC_CREAT. Specifying only IPC_CREAT means that the IPC resource is created with absolutely no permissions, and will result in EACCESS error.

How to reproduce

 int msgid;      
struct msqid_ds buf = {0};
msgid = msgget(1000, 512); /* returns with errno = 13 */

Solution

Starting from the next Open C release, IPC_CREAT has to be OR-ed with READ (0400) or/and WRITE (0200) permission.

143 page views in the last 30 days.
×