Since sd_journal_send uses
fd = journal_fd();
which has
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0);
this socket is opened without a non-blocking call.
This might cause the unix socket daemon to block this .
The other approach could be passing a nonblocking flag to
k = sendmsg(fd, &mh, MSG_NOSIGNAL);
This might cause the unix socket daemon to block this .
The other approach could be passing a nonblocking flag to
k = sendmsg(fd, &mh, MSG_NOSIGNAL);
MSG_DONTWAIT flag .
ARE ANY OF THESE APPROACHES TRIED OR is there a plan to support this complete non blocking sd_journal_print call ?
regards
On Thu, Jul 18, 2019 at 2:52 AM Mantas Mikulėnas <grawity@xxxxxxxxx> wrote:
_______________________________________________On Thu, Jul 18, 2019 at 12:44 PM Ulrich Windl <Ulrich.Windl@xxxxxxxxxxxxxxxxxxxx> wrote:>>> Mantas Mikulenas <grawity@xxxxxxxxx> schrieb am 18.07.2019 um 10:06 in
Nachricht
<CAPWNY8XS1jw9iU_a-tagNw-v0NqeMAcWDRpftPdeKW_NFanqtA@xxxxxxxxxxxxxx>:
> On Thu, Jul 18, 2019 at 10:32 AM Ulrich Windl <
> Ulrich.Windl@xxxxxxxxxxxxxxxxxxxx> wrote:
>
>> >>> Vaibhav Dahiya <vdahiya@xxxxxxxx> schrieb am 18.07.2019 um 02:53 in
>> Nachricht
>> <5d2fc2f0.1c69fb81.214d0.1aca@xxxxxxxxxxxxx>:
>> > Hello,
>> >
>> > I am using sd_journal_send api() api call to log messages on syslog
>> server.
>> > I see that this uses
>> > sendmsg(fd, &mh, MSG_NOSIGNAL) call.
>>
>> Aren't syslog messages UDP anyway? When would an UDP send block?
>>
>
> No, program APIs use Unix sockets (/dev/log, /run/systemd/journal/socket).
> You only get UDP when your local syslog daemon is configured to forward
> elsewhere.
>
> That said, both are datagram sockets, I'm not sure whether sending to Unix
> dgram sockets can block or not?
??? Datagram _is_ UDPUDP is datagram, but datagram is not always UDP."UDP" specifically means the datagram transport protocol that runs over IPv4/IPv6, nothing else. Unix sockets (AF_UNIX) have a datagram mode but they do not use UDP (or IP). Netlink is datagram-based but it isn't UDP-based. &c.--Mantas Mikulėnas
systemd-devel mailing list
systemd-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Best Regards,
Vaibhav Dahiya
Master's. Candidate in CSC (Computer Science)
North Carolina State University
Ph: (919) 888-8429
Vaibhav Dahiya
Master's. Candidate in CSC (Computer Science)
North Carolina State University
Ph: (919) 888-8429
_______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel