Может это? index a2a897d4442d8de1658c74d7691499702aac8ad6..07cd8b7b5b4bdbfccad8ff31fc86d5279f0d0ca1 100644 (file)
--- a/gdb/ser-unix.c
+++ b/gdb/ser-unix.c
@@ -574,7 +574,10 @@ when debugging using remote targets."),
int
ser_unix_read_prim (struct serial *scb, size_t count)
{
- return read (scb->fd, scb->buf, count);
+ int result = recv (scb->fd, scb->buf, count, 0);
+ if (result == -1 && errno != EINTR)
+ perror_with_name ("error while reading");
+ return result;
}
Вместо read стало делать recv - необъяснимо - и думаю не сильно правильно.
Могла быть копипаста с предыдущего фрагмента патча (там именно recv -> recv + сообщение об ошибке было):
--- a/gdb/ser-uds.c
+++ b/gdb/ser-uds.c
@@ -69,7 +69,10 @@ uds_close (struct serial *scb)
static int
uds_read_prim (struct serial *scb, size_t count)
{
- return recv (scb->fd, scb->buf, count, 0);
+ int result = recv (scb->fd, scb->buf, count, 0);
В целом то патч выглядит безобидным - ну добавили кучу дополнительных сообщений о внезапных ошибках чтения/обрывах связи.
Если бы не этот гендерный переход read->recv.