.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2006 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mq_receive 3 "31 octombrie 2023" "Pagini de manual de Linux 6.06" .SH NUME mq_receive, mq_timedreceive \- primește un mesaj de la o coadă de mesaje .SH BIBLIOTECA Biblioteca de timp real (\fIlibrt\fP, \fI\-lrt\fP) .SH REZUMAT .nf \fB#include \fP .P \fBssize_t mq_receive(mqd_t \fP\fImqdes\fP\fB, char \fP\fImsg_ptr\fP\fB[.\fP\fImsg_len\fP\fB],\fP \fB size_t \fP\fImsg_len\fP\fB, unsigned int *\fP\fImsg_prio\fP\fB);\fP .P \fB#include \fP \fB#include \fP .P \fBssize_t mq_timedreceive(mqd_t \fP\fImqdes\fP\fB, char *restrict \fP\fImsg_ptr\fP\fB[.\fP\fImsg_len\fP\fB],\fP \fB size_t \fP\fImsg_len\fP\fB, unsigned int *restrict \fP\fImsg_prio\fP\fB,\fP \fB const struct timespec *restrict \fP\fIabs_timeout\fP\fB);\fP .fi .P .ad l .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBmq_timedreceive\fP(): .nf _POSIX_C_SOURCE >= 200112L .fi .SH DESCRIERE \fBmq_receive\fP() elimină cel mai vechi mesaj cu cea mai mare prioritate din coada de așteptare a mesajelor la care se face referire prin descriptorul cozii de așteptare a mesajelor \fImqdes\fP și îl plasează în memoria tampon indicată de \fImsg_ptr\fP. Argumentul \fImsg_len\fP specifică dimensiunea tamponului indicat de \fImsg_ptr\fP; aceasta trebuie să fie mai mare sau egală cu atributul \fImq_msgsize\fP al cozii de așteptare (a se vedea \fBmq_getattr\fP(3)). În cazul în care \fImsg_prio\fP nu este NULL, atunci memoria tampon către care indică este utilizată pentru a returna prioritatea asociată mesajului primit. .P Dacă coada de mesaje este goală, atunci, în mod implicit, \fBmq_receive\fP() se blochează până când un mesaj devine disponibil sau până când apelul este întrerupt de un gestionar de semnal. În cazul în care indicatorul \fBO_NONBLOCK\fP este activat pentru descrierea cozii de mesaje, atunci apelul eșuează imediat cu eroarea \fBEAGAIN\fP. .P \fBmq_timedreceive\fP() se comportă la fel ca și \fBmq_receive\fP(), cu excepția faptului că, dacă coada este goală și dacă fanionul \fBO_NONBLOCK\fP nu este activat pentru descrierea cozii de mesaje, atunci \fIabs_timeout\fP indică o structură care specifică cât timp se va bloca apelul. Această valoare este un timp de așteptare absolut în secunde și nanosecunde de la Epocă, 1970\-01\-01 00:00:00 +0000 (UTC), specificat într\-o structură \fBtimespec\fP(3). .P În cazul în care nu este disponibil niciun mesaj, iar timpul de așteptare a expirat deja în momentul apelului, \fBmq_timedreceive\fP() returnează imediat. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBmq_receive\fP() și \fBmq_timedreceive\fP() returnează numărul de octeți din mesajul primit; în caz de eroare, se returnează \-1, cu \fIerrno\fP configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEAGAIN\fP Coada de așteptare era goală, iar fanionul \fBO_NONBLOCK\fP a fost activat pentru descrierea cozii de așteptare a mesajelor la care face referire \fImqdes\fP. .TP \fBEBADF\fP Descriptorul specificat în \fImqdes\fP a fost nevalid sau nu a fost deschis pentru citire. .TP \fBEINTR\fP Apelul a fost întrerupt de un gestionar de semnal; a se vedea \fBsignal\fP(7). .TP \fBEINVAL\fP Apelul s\-a blocat, iar \fIabs_timeout\fP a fost nevalid, fie pentru că \fItv_sec\fP a fost mai mic decât zero, fie pentru că \fItv_nsec\fP a fost mai mic decât zero sau mai mare decât 1000 de milioane. .TP \fBEMSGSIZE\fP \fImsg_len\fP a fost mai mică decât atributul \fImq_msgsize\fP al cozii de mesaje. .TP \fBETIMEDOUT\fP Apelul s\-a întrerupt înainte de a putea fi transferat un mesaj. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBmq_receive\fP(), \fBmq_timedreceive\fP() T} Siguranța firelor MT\-Safe .TE .SH VERSIUNI În Linux, \fBmq_timedreceive\fP() este un apel de sistem, iar \fBmq_receive\fP() este o funcție de bibliotecă suprapusă peste acest apel de sistem. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH "CONSULTAȚI ȘI" \fBmq_close\fP(3), \fBmq_getattr\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), \fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBtimespec\fP(3), \fBmq_overview\fP(7), \fBtime\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .