הפונקציה msgrcv תיכשל אם: [E2BIG] הערך של mtext גדול מ-msgsz ו-(msgflg & MSG_NOERROR) הוא 0. [EACCES]
האם Msgrcv חוסם?
ניתן לבצע את הפונקציות msgsnd ו-msgrcv כפעולות חוסמות או לא חוסמות. פעולות שאינן חוסמות מאפשרות העברת הודעות אסינכרונית -- התהליך אינו מושעה כתוצאה משליחה או קבלה של הודעה.
האם msgrcv מסירה את ההודעה מהתור?
קריאת המערכת msgrcv מסירה הודעה מהתור שצוין על ידי msqid וממקמת אותה במאגר שעליו מצביע msgp. הארגומנט msgsz מציין את הגודל המרבי בבייטים עבור ה-mtext האיבר של המבנה שאליו מצביע הארגומנט msgp.
איך עובד msgrcv?
פונקציית msgrcv קוראת הודעה מתור ההודעות שצוין על-ידי פרמטר msqid וממקמת אותה במאגר המוגדר על ידי המשתמש שאליו מצביע הפרמטר msgp. הפרמטר msgp מצביע על מאגר המוגדר על ידי משתמש שחייב להכיל את הדברים הבאים: שדה מסוג long int המציין את סוג ההודעה.
מה מחזירה msgrcv?
RETURN VALUE
עם השלמת הצלחה, msgrcv מחזירה ערך השווה למספר הבתים שהוכנסו בפועל למאגר mtext. אחרת, לא תתקבל הודעה, msgrcv יחזור (ssize_t)-1 ו-errno יוגדר לציון השגיאה.