hello, I apply what we do in C but it does not work moreover I cannot do O_CREAT | O_RDWR
le resultat: myPid--> 98118 mq_flags mq_maxmsg mq_msgsize mq_curmsgs Init--> 0 -- 9999 -- 1024 -- 0 mq_open mqd_t--> -1 *****error ctrl--> -1 *****error getattr--> 0 -- 9999 -- 1024 -- 0 Run source: posix import strformat let QUEUE_NAME = "QMname" let MAX_MSG = 9999 # nbr max de message let MSGTXTLEN = 1024 # msg text length var myPid : Pid var mqd_t : Mqd var mqd_a : MqAttr proc main() = echo "getpid" myPid = getpid() echo fmt" myPid--> {myPid}" # initialize the queue attributes echo "mq_flags" mqd_a.mq_flags = 0 echo "mq_maxmsg" mqd_a.mq_maxmsg = MAX_MSG echo "mq_msgsize" mqd_a.mq_msgsize = MSGTXTLEN echo "mq_curmsgs" mqd_a.mq_curmsgs = 0 echo fmt"Init--> {mqd_a.mq_flags} -- {mqd_a.mq_maxmsg} -- {mqd_a.mq_msgsize} -- { mqd_a.mq_curmsgs}" # create the message echo "mq_open" mqd_t = mq_open(QUEUE_NAME, O_RDWR) # impossible O_CREAT | O_RDWR echo fmt"mqd_t--> {mqd_t}" var ctrl = mq_getattr(mqd_t, mqd_a.addr) echo fmt"ctrl--> {ctrl}" echo fmt"getattr--> {mqd_a.mq_flags} -- {mqd_a.mq_maxmsg} -- {mqd_a.mq_msgsize} -- { mqd_a.mq_curmsgs}" main() Run compil : [ "$mode" == "TEST" ] ; then ( set -x ; \ nim c -f --gc:orc -d:useMalloc --panics:on \ --hint[Performance]:off --warning[Deprecated]:on --warning[EachIdentIsTuple]:on \ --threads:on \ --passL:-no-pie \ -o:$projet_bin $projet_src ; \ ) fi Run