diff --git a/lib/modules/Thread.pmod b/lib/modules/Thread.pmod index c4508a590f1f16de9fa6e425f6afcd63f2081d97..c90a8c42aaab80fcdd13f7286be37c83e3f74ece 100644 --- a/lib/modules/Thread.pmod +++ b/lib/modules/Thread.pmod @@ -808,13 +808,6 @@ class Fifo return ret; } - int write(mixed value) - { - if (num == sizeof(buffer)) error ("Deadlock detected - fifo full.\n"); - write_unlocked (value); - return num; - } - int try_write(mixed value) { if (num == sizeof (buffer)) return 0; @@ -822,6 +815,12 @@ class Fifo return ++num; } + int write(mixed value) + { + if (!try_write(value)) error("Deadlock detected - fifo full.\n"); + return num; + } + static void create(int|void size) { write_tres=0;