<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 8, 2017 at 8:33 AM, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Since we have only one process, sharing between processes is trivial.<br>
<br>
Close #3124.<br>
---<br>
cpukit/posix/include/rtems/<wbr>posix/semaphore.h | 1 -<br>
cpukit/posix/include/rtems/<wbr>posix/semaphoreimpl.h | 1 -<br>
cpukit/posix/src/<wbr>semaphorecreatesupp.c | 7 -------<br>
cpukit/posix/src/seminit.c | 1 -<br>
cpukit/posix/src/semopen.c | 1 -<br>
testsuites/psxtests/psxsem01/<wbr>init.c | 14 +++++++++-----<br>
6 files changed, 9 insertions(+), 16 deletions(-)<br>
<br>
diff --git a/cpukit/posix/include/rtems/<wbr>posix/semaphore.h b/cpukit/posix/include/rtems/<wbr>posix/semaphore.h<br>
index 45de4a93b9..6598397052 100644<br>
--- a/cpukit/posix/include/rtems/<wbr>posix/semaphore.h<br>
+++ b/cpukit/posix/include/rtems/<wbr>posix/semaphore.h<br>
@@ -43,7 +43,6 @@ extern "C" {<br>
typedef struct {<br>
Objects_Control Object;<br>
CORE_semaphore_Control Semaphore;<br>
- int process_shared;<br>
bool named;<br>
bool linked;<br>
uint32_t open_count;<br>
diff --git a/cpukit/posix/include/rtems/<wbr>posix/semaphoreimpl.h b/cpukit/posix/include/rtems/<wbr>posix/semaphoreimpl.h<br>
index 2bafbe9b97..43440298ec 100644<br>
--- a/cpukit/posix/include/rtems/<wbr>posix/semaphoreimpl.h<br>
+++ b/cpukit/posix/include/rtems/<wbr>posix/semaphoreimpl.h<br>
@@ -78,7 +78,6 @@ RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Get(<br>
int _POSIX_Semaphore_Create_<wbr>support(<br>
const char *name,<br>
size_t name_len,<br>
- int pshared,<br>
unsigned int value,<br>
POSIX_Semaphore_Control **the_sem<br>
);<br>
diff --git a/cpukit/posix/src/<wbr>semaphorecreatesupp.c b/cpukit/posix/src/<wbr>semaphorecreatesupp.c<br>
index d66e1942c9..4a33336230 100644<br>
--- a/cpukit/posix/src/<wbr>semaphorecreatesupp.c<br>
+++ b/cpukit/posix/src/<wbr>semaphorecreatesupp.c<br>
@@ -42,7 +42,6 @@<br>
int _POSIX_Semaphore_Create_<wbr>support(<br>
const char *name_arg,<br>
size_t name_len,<br>
- int pshared,<br>
unsigned int value,<br>
POSIX_Semaphore_Control **the_sem<br>
)<br>
@@ -50,10 +49,6 @@ int _POSIX_Semaphore_Create_<wbr>support(<br>
POSIX_Semaphore_Control *the_semaphore;<br>
char *name;<br>
<br>
- /* Sharing semaphores among processes is not currently supported */<br>
- if (pshared != 0)<br>
- rtems_set_errno_and_return_<wbr>minus_one( ENOSYS );<br></blockquote><div><br></div><div>Why are you deleting this error check? I can see not storing the value or passing</div><div>it to create support. But I think it still should be validated. We only support</div><div>requests for process private. Anything else is an error.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-<br>
/*<br>
* Make a copy of the user's string for name just in case it was<br>
* dynamically constructed.<br>
@@ -73,8 +68,6 @@ int _POSIX_Semaphore_Create_<wbr>support(<br>
rtems_set_errno_and_return_<wbr>minus_one( ENOSPC );<br>
}<br>
<br>
- the_semaphore->process_shared = pshared;<br>
-<br>
if ( name ) {<br>
the_semaphore->named = true;<br>
the_semaphore->open_count = 1;<br>
diff --git a/cpukit/posix/src/seminit.c b/cpukit/posix/src/seminit.c<br>
index 249edf67ee..cf06f6ce41 100644<br>
--- a/cpukit/posix/src/seminit.c<br>
+++ b/cpukit/posix/src/seminit.c<br>
@@ -55,7 +55,6 @@ int sem_init(<br>
status = _POSIX_Semaphore_Create_<wbr>support(<br>
NULL,<br>
0,<br>
- pshared,<br>
value,<br>
&the_semaphore<br>
);<br>
diff --git a/cpukit/posix/src/semopen.c b/cpukit/posix/src/semopen.c<br>
index b844b08bb4..98163cca8d 100644<br>
--- a/cpukit/posix/src/semopen.c<br>
+++ b/cpukit/posix/src/semopen.c<br>
@@ -119,7 +119,6 @@ sem_t *sem_open(<br>
status =_POSIX_Semaphore_Create_<wbr>support(<br>
name,<br>
name_len,<br>
- false, /* not shared across processes */<br>
value,<br>
&the_semaphore<br>
);<br>
diff --git a/testsuites/psxtests/<wbr>psxsem01/init.c b/testsuites/psxtests/<wbr>psxsem01/init.c<br>
index 8601f926b3..9ba8935292 100644<br>
--- a/testsuites/psxtests/<wbr>psxsem01/init.c<br>
+++ b/testsuites/psxtests/<wbr>psxsem01/init.c<br>
@@ -136,6 +136,14 @@ void *POSIX_Init(<br>
<br>
TEST_BEGIN();<br>
<br>
+ puts( "Init: sem_init - SUCCESSFUL" );<br>
+ status = sem_init(&sem2, 1, 1);<br>
+ fatal_posix_service_status( status, 0, "sem_init with pshared != 0");<br>
+<br>
+ puts( "Init: sem_destroy - SUCCESSFUL" );<br>
+ status = sem_destroy(&sem2);<br>
+ fatal_posix_service_status( status, 0, "sem_destroy");<br>
+<br>
puts( "Init: sem_init - UNSUCCESSFUL (EINVAL)" );<br>
status = sem_init(NULL, 0, 1);<br>
fatal_posix_service_status( status, -1, "sem_init error return status");<br>
@@ -152,11 +160,6 @@ void *POSIX_Init(<br>
fatal_posix_service_status( status, -1, "sem_init error return status");<br>
fatal_posix_service_status( errno, ENOSPC, "sem_init errorno ENOSPC" );<br>
<br>
- puts( "Init: sem_init - UNSUCCESSFUL (ENOSYS -- pshared not supported)" );<br>
- status = sem_init(&sem2, 1, 1);<br>
- fatal_posix_service_status( status, -1, "sem_init error return status");<br>
- fatal_posix_service_status( errno, ENOSYS, "sem_init errno set to ENOSYS");<br>
-<br>
puts( "Init: sem_getvalue - SUCCESSFUL ");<br>
for (i = 0; i < MAX_SEMS; i++) {<br>
status = sem_getvalue(&sems[i], &value);<br>
@@ -165,6 +168,7 @@ void *POSIX_Init(<br>
fatal_posix_service_status( value, i, "sem_getvalue correct value" );<br>
}<br>
puts( "Init: sem_getvalue - UNSUCCESSFUL ");<br>
+ sem2 = 0;<br>
status = sem_getvalue(&sem2, &value);<br>
fatal_posix_service_status( status, -1, "sem_getvalue error return status");<br>
fatal_posix_service_status( errno, EINVAL, "sem_getvalue errno EINVAL");<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.12.3<br>
<br>
______________________________<wbr>_________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/devel</a><br>
</font></span></blockquote></div><br></div></div>