[OpenSIPS-Devel] [OpenSIPS/opensips] bfac92: [core] make the per-process IPC sending non-blocking

Bogdan Andrei IANCU noreply at github.com
Mon Nov 8 07:15:35 EST 2021


  Branch: refs/heads/3.1
  Home:   https://github.com/OpenSIPS/opensips
  Commit: bfac92714d8ad5f29ee4455e5226d738292ad5d2
      https://github.com/OpenSIPS/opensips/commit/bfac92714d8ad5f29ee4455e5226d738292ad5d2
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2021-11-08 (Mon, 08 Nov 2021)

  Changed paths:
    M ipc.c

  Log Message:
  -----------
  [core] make the per-process IPC sending non-blocking

A process may get stuck (history showed us such real cases) and we do not want to have other processes getting blocked by trying to do an IPC to such procs (if they are stuck, they will not consume their IPC cmds, so the IPC sender will also block after some time, when the pipe's buffer is full).
So, better make the write pipe non-blocking, discard the current IPC cmd and avoid escalating the blocking over other procs.

(cherry picked from commit 62af720cd5a9d04d982b474398294ef5068e9f45)


  Commit: 290e1ab55f7e629bf26c320766ce0336c0a4e35f
      https://github.com/OpenSIPS/opensips/commit/290e1ab55f7e629bf26c320766ce0336c0a4e35f
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2021-11-08 (Mon, 08 Nov 2021)

  Changed paths:
    M ipc.c

  Log Message:
  -----------
  [core] improve logging when IPC blocking is detected

Throw a CRITical log with info on the target process

(cherry picked from commit dce2643e5716f082847a90e409c2156dde9e4852)


Compare: https://github.com/OpenSIPS/opensips/compare/2ec3238bfe5e...290e1ab55f7e



More information about the Devel mailing list