Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

669
Views
¿Puede Linux flock(fd, LOCK_EX|LOCK_NB) fallar espuriamente?

Considere una situación en la que dos procesos realizan intentos simultáneos de colocar un bloqueo exclusivo en algún archivo usando flock(fd, LOCK_EX|LOCK_NB) .

Como se indicó, los intentos son sin bloqueo , por lo que se supone que uno de los dos procesos falla con EWOULDBLOCK .

Aquí está mi pregunta: ¿La implementación (Linux) de flock() garantiza que exactamente uno de los dos procesos tendrá éxito en cada caso? ¿O es posible que ambos terminen fallando con EWOULDBLOCK incluso cuando nadie más interfiere?

En resumen, ¿puede flock(fd, LOCK_EX|LOCK_NB) fallar falsamente con EWOULDBLOCK ?

Estoy principalmente interesado en la versión de flock() que ofrece Linux, pero la información sobre flock() en otros sistemas, como OS X, es muy bienvenida.

Además, supongo que la respuesta es la misma independientemente de si los bloqueos son exclusivos ( LOCK_EX ) o compartidos ( LOCK_SH ). Si no, házmelo saber.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Hombre leyendo rebaño(2) :

EWOULDBLOCK El archivo está bloqueado y se seleccionó el indicador LOCK_NB.

Entonces, obtener EWOULDBLOCK significa que el archivo ya está bloqueado. Si se garantiza que sus dos procesos son los únicos involucrados, nunca obtendrán EWOULDBLOCK en el mismo archivo al mismo tiempo.

Tenga en cuenta que los hilos son una historia diferente. Los subprocesos normalmente comparten descriptores de archivo, por lo que varios subprocesos dentro del mismo proceso pueden llamar a flock() con éxito en el mismo archivo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!