Project

General

Profile

Bug #5948 ยป sock_write_functions_grepped.txt

Socket write function definitions grepped - arehbein, 03/19/2023 10:12 PM

 
1
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:162:static int ipc_sock_write(struct osmo_fd *bfd)
2
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:163-{
3
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:164-	struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data;
4
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:165-	int rc;
5
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:166-
6
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:167-	while (!llist_empty(&state->upqueue)) {
7
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:168-		struct msgb *msg, *msg2;
8
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:169-		struct ipc_sk_if *ipc_prim;
9
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:170-
10
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:171-		/* peek at the beginning of the queue */
11
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:172-		msg = llist_entry(state->upqueue.next, struct msgb, list);
12
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:173-		ipc_prim = (struct ipc_sk_if *)msg->data;
13
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:174-
14
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:175-		osmo_fd_write_disable(bfd);
15
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:176-
16
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:177-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
17
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:178-		if (!msgb_length(msg)) {
18
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:179-			LOGP(DDEV, LOGL_ERROR,
19
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:180-			     "message type (%d) with ZERO "
20
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:181-			     "bytes!\n",
21
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:182-			     ipc_prim->msg_type);
22
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:183-			goto dontsend;
23
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:184-		}
24
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:185-
25
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:186-		/* try to send it over the socket */
26
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:187-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
27
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:188-		if (rc == 0)
28
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:189-			goto close;
29
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:190-		if (rc < 0) {
30
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:191-			if (errno == EAGAIN) {
31
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:192-				osmo_fd_write_enable(bfd);
32
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:193-				break;
33
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:194-			}
34
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:195-			goto close;
35
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:196-		}
36
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:197-
37
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:198-	dontsend:
38
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:199-		/* _after_ we send it, we can deueue */
39
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:200-		msg2 = msgb_dequeue(&state->upqueue);
40
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:201-		assert(msg == msg2);
41
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:202-		msgb_free(msg);
42
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:203-	}
43
osmo-trx/Transceiver52M/device/ipc/ipc_sock.c:204-	return 0;
44
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:150:static int ipc_chan_sock_write(struct osmo_fd *bfd)
45
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:151-{
46
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:152-	struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data;
47
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:153-	int rc;
48
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:154-
49
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:155-	while (!llist_empty(&state->upqueue)) {
50
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:156-		struct msgb *msg, *msg2;
51
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:157-		struct ipc_sk_chan_if *ipc_prim;
52
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:158-
53
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:159-		/* peek at the beginning of the queue */
54
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:160-		msg = llist_entry(state->upqueue.next, struct msgb, list);
55
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:161-		ipc_prim = (struct ipc_sk_chan_if *)msg->data;
56
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:162-
57
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:163-		osmo_fd_write_disable(bfd);
58
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:164-
59
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:165-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
60
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:166-		if (!msgb_length(msg)) {
61
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:167-			LOGP(DDEV, LOGL_ERROR,
62
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:168-			     "message type (%d) with ZERO "
63
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:169-			     "bytes!\n",
64
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:170-			     ipc_prim->msg_type);
65
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:171-			goto dontsend;
66
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:172-		}
67
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:173-
68
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:174-		/* try to send it over the socket */
69
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:175-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
70
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:176-		if (rc == 0)
71
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:177-			goto close;
72
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:178-		if (rc < 0) {
73
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:179-			if (errno == EAGAIN) {
74
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:180-				osmo_fd_write_enable(bfd);
75
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:181-				break;
76
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:182-			}
77
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:183-			goto close;
78
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:184-		}
79
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:185-
80
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:186-	dontsend:
81
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:187-		/* _after_ we send it, we can dequeue */
82
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:188-		msg2 = msgb_dequeue(&state->upqueue);
83
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:189-		assert(msg == msg2);
84
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:190-		msgb_free(msg);
85
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:191-	}
86
osmo-trx/Transceiver52M/device/ipc/ipc_chan.c:192-	return 0;
87
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:148:static int mncc_sock_write(struct osmo_fd *bfd)
88
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:149-{
89
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:150-	struct mncc_sock_state *state = bfd->data;
90
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:151-	int rc;
91
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:152-
92
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:153-	while (!llist_empty(&state->upqueue)) {
93
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:154-		struct msgb *msg, *msg2;
94
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:155-		struct gsm_mncc *mncc_prim;
95
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:156-
96
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:157-		/* peek at the beginning of the queue */
97
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:158-		msg = llist_entry(state->upqueue.next, struct msgb, list);
98
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:159-		mncc_prim = (struct gsm_mncc *)msg->data;
99
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:160-
100
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:161-		osmo_fd_write_disable(bfd);
101
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:162-
102
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:163-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
103
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:164-		if (!msgb_length(msg)) {
104
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:165-			LOGP(DMNCC, LOGL_ERROR, "message type (%d) with ZERO "
105
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:166-				"bytes!\n", mncc_prim->msg_type);
106
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:167-			goto dontsend;
107
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:168-		}
108
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:169-
109
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:170-		/* try to send it over the socket */
110
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:171-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
111
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:172-		if (rc == 0)
112
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:173-			goto close;
113
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:174-		if (rc < 0) {
114
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:175-			if (errno == EAGAIN) {
115
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:176-				osmo_fd_write_enable(bfd);
116
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:177-				break;
117
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:178-			}
118
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:179-			goto close;
119
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:180-		}
120
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:181-
121
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:182-dontsend:
122
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:183-		/* _after_ we send it, we can deueue */
123
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:184-		msg2 = msgb_dequeue(&state->upqueue);
124
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:185-		assert(msg == msg2);
125
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:186-		msgb_free(msg);
126
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:187-	}
127
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:188-	return 0;
128
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:189-
129
osmocom-bb/src/host/layer23/src/mobile/mncc_sock.c:190-close:
130
osmo-msc/src/libmsc/mncc_sock.c:131:static int mncc_sock_write(struct osmo_fd *bfd)
131
osmo-msc/src/libmsc/mncc_sock.c:132-{
132
osmo-msc/src/libmsc/mncc_sock.c:133-	struct mncc_sock_state *state = bfd->data;
133
osmo-msc/src/libmsc/mncc_sock.c:134-	struct gsm_network *net = state->net;
134
osmo-msc/src/libmsc/mncc_sock.c:135-	int rc;
135
osmo-msc/src/libmsc/mncc_sock.c:136-
136
osmo-msc/src/libmsc/mncc_sock.c:137-	while (!llist_empty(&net->upqueue)) {
137
osmo-msc/src/libmsc/mncc_sock.c:138-		struct msgb *msg, *msg2;
138
osmo-msc/src/libmsc/mncc_sock.c:139-		struct gsm_mncc *mncc_prim;
139
osmo-msc/src/libmsc/mncc_sock.c:140-
140
osmo-msc/src/libmsc/mncc_sock.c:141-		/* peek at the beginning of the queue */
141
osmo-msc/src/libmsc/mncc_sock.c:142-		msg = llist_entry(net->upqueue.next, struct msgb, list);
142
osmo-msc/src/libmsc/mncc_sock.c:143-		mncc_prim = (struct gsm_mncc *)msg->data;
143
osmo-msc/src/libmsc/mncc_sock.c:144-
144
osmo-msc/src/libmsc/mncc_sock.c:145-		osmo_fd_write_disable(bfd);
145
osmo-msc/src/libmsc/mncc_sock.c:146-
146
osmo-msc/src/libmsc/mncc_sock.c:147-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
147
osmo-msc/src/libmsc/mncc_sock.c:148-		if (!msgb_length(msg)) {
148
osmo-msc/src/libmsc/mncc_sock.c:149-			LOGP(DMNCC, LOGL_ERROR, "message type (%d) with ZERO "
149
osmo-msc/src/libmsc/mncc_sock.c:150-				"bytes!\n", mncc_prim->msg_type);
150
osmo-msc/src/libmsc/mncc_sock.c:151-			goto dontsend;
151
osmo-msc/src/libmsc/mncc_sock.c:152-		}
152
osmo-msc/src/libmsc/mncc_sock.c:153-
153
osmo-msc/src/libmsc/mncc_sock.c:154-		/* try to send it over the socket */
154
osmo-msc/src/libmsc/mncc_sock.c:155-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
155
osmo-msc/src/libmsc/mncc_sock.c:156-		if (rc == 0)
156
osmo-msc/src/libmsc/mncc_sock.c:157-			goto close;
157
osmo-msc/src/libmsc/mncc_sock.c:158-		if (rc < 0) {
158
osmo-msc/src/libmsc/mncc_sock.c:159-			if (errno == EAGAIN) {
159
osmo-msc/src/libmsc/mncc_sock.c:160-				osmo_fd_write_enable(bfd);
160
osmo-msc/src/libmsc/mncc_sock.c:161-				break;
161
osmo-msc/src/libmsc/mncc_sock.c:162-			}
162
osmo-msc/src/libmsc/mncc_sock.c:163-			goto close;
163
osmo-msc/src/libmsc/mncc_sock.c:164-		}
164
osmo-msc/src/libmsc/mncc_sock.c:165-
165
osmo-msc/src/libmsc/mncc_sock.c:166-dontsend:
166
osmo-msc/src/libmsc/mncc_sock.c:167-		/* _after_ we send it, we can deueue */
167
osmo-msc/src/libmsc/mncc_sock.c:168-		msg2 = msgb_dequeue(&net->upqueue);
168
osmo-msc/src/libmsc/mncc_sock.c:169-		assert(msg == msg2);
169
osmo-msc/src/libmsc/mncc_sock.c:170-		msgb_free(msg);
170
osmo-msc/src/libmsc/mncc_sock.c:171-	}
171
osmo-msc/src/libmsc/mncc_sock.c:172-	return 0;
172
osmo-msc/src/libmsc/mncc_sock.c:173-
173
osmo-pcu/src/osmobts_sock.c:154:static int pcu_sock_write(struct osmo_fd *bfd)
174
osmo-pcu/src/osmobts_sock.c:155-{
175
osmo-pcu/src/osmobts_sock.c:156-	int rc;
176
osmo-pcu/src/osmobts_sock.c:157-
177
osmo-pcu/src/osmobts_sock.c:158-	while (!llist_empty(&pcu_sock_state.upqueue)) {
178
osmo-pcu/src/osmobts_sock.c:159-		struct msgb *msg, *msg2;
179
osmo-pcu/src/osmobts_sock.c:160-		struct gsm_pcu_if *pcu_prim;
180
osmo-pcu/src/osmobts_sock.c:161-
181
osmo-pcu/src/osmobts_sock.c:162-		/* peek at the beginning of the queue */
182
osmo-pcu/src/osmobts_sock.c:163-		msg = llist_entry(pcu_sock_state.upqueue.next, struct msgb, list);
183
osmo-pcu/src/osmobts_sock.c:164-		pcu_prim = (struct gsm_pcu_if *)msg->data;
184
osmo-pcu/src/osmobts_sock.c:165-
185
osmo-pcu/src/osmobts_sock.c:166-		osmo_fd_write_disable(bfd);
186
osmo-pcu/src/osmobts_sock.c:167-
187
osmo-pcu/src/osmobts_sock.c:168-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
188
osmo-pcu/src/osmobts_sock.c:169-		if (!msgb_length(msg)) {
189
osmo-pcu/src/osmobts_sock.c:170-			LOGP(DL1IF, LOGL_ERROR, "message type (%d) with ZERO "
190
osmo-pcu/src/osmobts_sock.c:171-				"bytes!\n", pcu_prim->msg_type);
191
osmo-pcu/src/osmobts_sock.c:172-			goto dontsend;
192
osmo-pcu/src/osmobts_sock.c:173-		}
193
osmo-pcu/src/osmobts_sock.c:174-
194
osmo-pcu/src/osmobts_sock.c:175-		/* try to send it over the socket */
195
osmo-pcu/src/osmobts_sock.c:176-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
196
osmo-pcu/src/osmobts_sock.c:177-		if (rc == 0)
197
osmo-pcu/src/osmobts_sock.c:178-			goto close;
198
osmo-pcu/src/osmobts_sock.c:179-		if (rc < 0) {
199
osmo-pcu/src/osmobts_sock.c:180-			if (errno == EAGAIN) {
200
osmo-pcu/src/osmobts_sock.c:181-				osmo_fd_write_enable(bfd);
201
osmo-pcu/src/osmobts_sock.c:182-				break;
202
osmo-pcu/src/osmobts_sock.c:183-			}
203
osmo-pcu/src/osmobts_sock.c:184-			goto close;
204
osmo-pcu/src/osmobts_sock.c:185-		}
205
osmo-pcu/src/osmobts_sock.c:186-
206
osmo-pcu/src/osmobts_sock.c:187-dontsend:
207
osmo-pcu/src/osmobts_sock.c:188-		/* _after_ we send it, we can deueue */
208
osmo-pcu/src/osmobts_sock.c:189-		msg2 = msgb_dequeue(&pcu_sock_state.upqueue);
209
osmo-pcu/src/osmobts_sock.c:190-		assert(msg == msg2);
210
osmo-pcu/src/osmobts_sock.c:191-		msgb_free(msg);
211
osmo-pcu/src/osmobts_sock.c:192-	}
212
osmo-pcu/src/osmobts_sock.c:193-	return 0;
213
osmo-pcu/src/osmobts_sock.c:194-
214
osmo-pcu/src/osmobts_sock.c:195-close:
215
osmo-pcu/src/osmobts_sock.c:196-	pcu_sock_close(1);
216
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:619:static int pcu_sock_write(struct osmo_fd *bfd)
217
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:620-{
218
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:621-	struct pcu_sock_state *state = bfd->data;
219
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:622-	int rc;
220
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:623-
221
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:624-	while (!llist_empty(&state->upqueue)) {
222
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:625-		struct msgb *msg, *msg2;
223
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:626-		struct gsm_pcu_if *pcu_prim;
224
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:627-
225
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:628-		/* peek at the beginning of the queue */
226
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:629-		msg = llist_entry(state->upqueue.next, struct msgb, list);
227
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:630-		pcu_prim = (struct gsm_pcu_if *)msg->data;
228
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:631-
229
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:632-		osmo_fd_write_disable(bfd);
230
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:633-
231
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:634-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
232
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:635-		if (!msgb_length(msg)) {
233
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:636-			LOGP(DPCU, LOGL_ERROR, "message type (%d) with ZERO "
234
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:637-				"bytes!\n", pcu_prim->msg_type);
235
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:638-			goto dontsend;
236
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:639-		}
237
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:640-
238
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:641-		/* try to send it over the socket */
239
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:642-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
240
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:643-		if (rc == 0)
241
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:644-			goto close;
242
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:645-		if (rc < 0) {
243
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:646-			if (errno == EAGAIN) {
244
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:647-				osmo_fd_write_enable(bfd);
245
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:648-				break;
246
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:649-			}
247
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:650-			goto close;
248
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:651-		}
249
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:652-
250
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:653-dontsend:
251
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:654-		/* _after_ we send it, we can deueue */
252
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:655-		msg2 = msgb_dequeue(&state->upqueue);
253
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:656-		assert(msg == msg2);
254
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:657-		msgb_free(msg);
255
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:658-	}
256
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:659-	return 0;
257
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:660-
258
docker-playground/osmo-bsc-master/osmo-bsc/src/osmo-bsc/pcu_sock.c:661-close:
259
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1093:static int pcu_sock_write(struct osmo_fd *bfd)
260
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1094-{
261
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1095-	struct pcu_sock_state *state = bfd->data;
262
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1096-	int rc;
263
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1097-
264
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1098-	while (!llist_empty(&state->upqueue)) {
265
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1099-		struct msgb *msg, *msg2;
266
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1100-		struct gsm_pcu_if *pcu_prim;
267
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1101-
268
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1102-		/* peek at the beginning of the queue */
269
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1103-		msg = llist_entry(state->upqueue.next, struct msgb, list);
270
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1104-		pcu_prim = (struct gsm_pcu_if *)msg->data;
271
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1105-
272
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1106-		osmo_fd_write_disable(bfd);
273
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1107-
274
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1108-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
275
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1109-		if (!msgb_length(msg)) {
276
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1110-			LOGP(DPCU, LOGL_ERROR, "message type (%d) with ZERO "
277
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1111-				"bytes!\n", pcu_prim->msg_type);
278
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1112-			goto dontsend;
279
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1113-		}
280
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1114-
281
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1115-		/* try to send it over the socket */
282
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1116-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
283
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1117-		if (rc == 0)
284
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1118-			goto close;
285
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1119-		if (rc < 0) {
286
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1120-			if (errno == EAGAIN) {
287
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1121-				osmo_fd_write_enable(bfd);
288
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1122-				break;
289
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1123-			}
290
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1124-			goto close;
291
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1125-		}
292
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1126-
293
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1127-dontsend:
294
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1128-		/* _after_ we send it, we can deueue */
295
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1129-		msg2 = msgb_dequeue(&state->upqueue);
296
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1130-		assert(msg == msg2);
297
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1131-		msgb_free(msg);
298
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1132-	}
299
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1133-	return 0;
300
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1134-
301
docker-playground/osmo-bts-master/osmo-bts/src/common/pcu_sock.c:1135-close:
302
osmo-bts/src/common/pcu_sock.c:1088:static int pcu_sock_write(struct osmo_fd *bfd)
303
osmo-bts/src/common/pcu_sock.c:1089-{
304
osmo-bts/src/common/pcu_sock.c:1090-	struct pcu_sock_state *state = bfd->data;
305
osmo-bts/src/common/pcu_sock.c:1091-	struct msgb *msg;
306
osmo-bts/src/common/pcu_sock.c:1092-	int rc;
307
osmo-bts/src/common/pcu_sock.c:1093-
308
osmo-bts/src/common/pcu_sock.c:1094-	while ((msg = msgb_dequeue(&state->upqueue))) {
309
osmo-bts/src/common/pcu_sock.c:1095-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
310
osmo-bts/src/common/pcu_sock.c:1096-		OSMO_ASSERT(msgb_length(msg) > 0);
311
osmo-bts/src/common/pcu_sock.c:1097-
312
osmo-bts/src/common/pcu_sock.c:1098-		/* try to send it over the socket */
313
osmo-bts/src/common/pcu_sock.c:1099-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
314
osmo-bts/src/common/pcu_sock.c:1100-		if (OSMO_UNLIKELY(rc == 0))
315
osmo-bts/src/common/pcu_sock.c:1101-			goto close;
316
osmo-bts/src/common/pcu_sock.c:1102-		if (OSMO_UNLIKELY(rc < 0)) {
317
osmo-bts/src/common/pcu_sock.c:1103-			if (errno == EAGAIN) {
318
osmo-bts/src/common/pcu_sock.c:1104-				/* Re-insert at the start of the queue, skip disabling fd WRITE */
319
osmo-bts/src/common/pcu_sock.c:1105-				llist_add(&msg->list, &state->upqueue);
320
osmo-bts/src/common/pcu_sock.c:1106-				return 0;
321
osmo-bts/src/common/pcu_sock.c:1107-			}
322
osmo-bts/src/common/pcu_sock.c:1108-			goto close;
323
osmo-bts/src/common/pcu_sock.c:1109-		}
324
osmo-bts/src/common/pcu_sock.c:1110-		msgb_free(msg);
325
osmo-bts/src/common/pcu_sock.c:1111-	}
326
osmo-bts/src/common/pcu_sock.c:1112-	osmo_fd_write_disable(bfd);
327
osmo-bts/src/common/pcu_sock.c:1113-	return 0;
328
osmo-bts/src/common/pcu_sock.c:1114-
329
osmo-bts/src/common/pcu_sock.c:1115-close:
330
osmo-bts/src/common/pcu_sock.c:1116-	msgb_free(msg);
331
osmo-bts/src/common/pcu_sock.c:1117-	pcu_sock_close(state);
332
osmo-bts/src/common/pcu_sock.c:1118-	return -1;
333
osmo-bts/src/common/pcu_sock.c:1119-}
334
osmo-bts/src/common/pcu_sock.c:1120-
335
osmo-bts/src/common/pcu_sock.c:1121-static int pcu_sock_cb(struct osmo_fd *bfd, unsigned int flags)
336
osmo-bts/src/common/pcu_sock.c:1122-{
337
osmo-bts/src/common/pcu_sock.c:1123-	int rc = 0;
338
osmo-bts/src/common/pcu_sock.c:1124-
339
osmo-bts/src/common/pcu_sock.c:1125-	if (flags & OSMO_FD_READ)
340
osmo-bts/src/common/pcu_sock.c:1126-		rc = pcu_sock_read(bfd);
341
osmo-bts/src/common/pcu_sock.c:1127-	if (rc < 0)
342
osmo-bts/src/common/pcu_sock.c:1128-		return rc;
343
osmo-bts/src/common/pcu_sock.c:1129-
344
osmo-bts/src/common/pcu_sock.c:1130-	if (flags & OSMO_FD_WRITE)
345
osmo-bsc/src/osmo-bsc/pcu_sock.c:842:static int pcu_sock_write(struct osmo_fd *bfd)
346
osmo-bsc/src/osmo-bsc/pcu_sock.c:843-{
347
osmo-bsc/src/osmo-bsc/pcu_sock.c:844-	struct pcu_sock_state *state = bfd->data;
348
osmo-bsc/src/osmo-bsc/pcu_sock.c:845-	int rc;
349
osmo-bsc/src/osmo-bsc/pcu_sock.c:846-
350
osmo-bsc/src/osmo-bsc/pcu_sock.c:847-	while (!llist_empty(&state->upqueue)) {
351
osmo-bsc/src/osmo-bsc/pcu_sock.c:848-		struct msgb *msg, *msg2;
352
osmo-bsc/src/osmo-bsc/pcu_sock.c:849-		struct gsm_pcu_if *pcu_prim;
353
osmo-bsc/src/osmo-bsc/pcu_sock.c:850-
354
osmo-bsc/src/osmo-bsc/pcu_sock.c:851-		/* peek at the beginning of the queue */
355
osmo-bsc/src/osmo-bsc/pcu_sock.c:852-		msg = llist_entry(state->upqueue.next, struct msgb, list);
356
osmo-bsc/src/osmo-bsc/pcu_sock.c:853-		pcu_prim = (struct gsm_pcu_if *)msg->data;
357
osmo-bsc/src/osmo-bsc/pcu_sock.c:854-
358
osmo-bsc/src/osmo-bsc/pcu_sock.c:855-		osmo_fd_write_disable(bfd);
359
osmo-bsc/src/osmo-bsc/pcu_sock.c:856-
360
osmo-bsc/src/osmo-bsc/pcu_sock.c:857-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
361
osmo-bsc/src/osmo-bsc/pcu_sock.c:858-		if (!msgb_length(msg)) {
362
osmo-bsc/src/osmo-bsc/pcu_sock.c:859-			LOGP(DPCU, LOGL_ERROR, "message type (%d) with ZERO "
363
osmo-bsc/src/osmo-bsc/pcu_sock.c:860-				"bytes!\n", pcu_prim->msg_type);
364
osmo-bsc/src/osmo-bsc/pcu_sock.c:861-			goto dontsend;
365
osmo-bsc/src/osmo-bsc/pcu_sock.c:862-		}
366
osmo-bsc/src/osmo-bsc/pcu_sock.c:863-
367
osmo-bsc/src/osmo-bsc/pcu_sock.c:864-		/* try to send it over the socket */
368
osmo-bsc/src/osmo-bsc/pcu_sock.c:865-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
369
osmo-bsc/src/osmo-bsc/pcu_sock.c:866-		if (rc == 0)
370
osmo-bsc/src/osmo-bsc/pcu_sock.c:867-			goto close;
371
osmo-bsc/src/osmo-bsc/pcu_sock.c:868-		if (rc < 0) {
372
osmo-bsc/src/osmo-bsc/pcu_sock.c:869-			if (errno == EAGAIN) {
373
osmo-bsc/src/osmo-bsc/pcu_sock.c:870-				osmo_fd_write_enable(bfd);
374
osmo-bsc/src/osmo-bsc/pcu_sock.c:871-				break;
375
osmo-bsc/src/osmo-bsc/pcu_sock.c:872-			}
376
osmo-bsc/src/osmo-bsc/pcu_sock.c:873-			goto close;
377
osmo-bsc/src/osmo-bsc/pcu_sock.c:874-		}
378
osmo-bsc/src/osmo-bsc/pcu_sock.c:875-
379
osmo-bsc/src/osmo-bsc/pcu_sock.c:876-dontsend:
380
osmo-bsc/src/osmo-bsc/pcu_sock.c:877-		/* _after_ we send it, we can deueue */
381
osmo-bsc/src/osmo-bsc/pcu_sock.c:878-		msg2 = msgb_dequeue(&state->upqueue);
382
osmo-bsc/src/osmo-bsc/pcu_sock.c:879-		assert(msg == msg2);
383
osmo-bsc/src/osmo-bsc/pcu_sock.c:880-		msgb_free(msg);
384
osmo-bsc/src/osmo-bsc/pcu_sock.c:881-	}
385
osmo-bsc/src/osmo-bsc/pcu_sock.c:882-	return 0;
386
osmo-bsc/src/osmo-bsc/pcu_sock.c:883-
387
osmo-bsc/src/osmo-bsc/pcu_sock.c:884-close:
388
openbsc/openbsc/src/libbsc/pcu_sock.c:576:static int pcu_sock_write(struct osmo_fd *bfd)
389
openbsc/openbsc/src/libbsc/pcu_sock.c:577-{
390
openbsc/openbsc/src/libbsc/pcu_sock.c:578-	struct pcu_sock_state *state = bfd->data;
391
openbsc/openbsc/src/libbsc/pcu_sock.c:579-	int rc;
392
openbsc/openbsc/src/libbsc/pcu_sock.c:580-
393
openbsc/openbsc/src/libbsc/pcu_sock.c:581-	while (!llist_empty(&state->upqueue)) {
394
openbsc/openbsc/src/libbsc/pcu_sock.c:582-		struct msgb *msg, *msg2;
395
openbsc/openbsc/src/libbsc/pcu_sock.c:583-		struct gsm_pcu_if *pcu_prim;
396
openbsc/openbsc/src/libbsc/pcu_sock.c:584-
397
openbsc/openbsc/src/libbsc/pcu_sock.c:585-		/* peek at the beginning of the queue */
398
openbsc/openbsc/src/libbsc/pcu_sock.c:586-		msg = llist_entry(state->upqueue.next, struct msgb, list);
399
openbsc/openbsc/src/libbsc/pcu_sock.c:587-		pcu_prim = (struct gsm_pcu_if *)msg->data;
400
openbsc/openbsc/src/libbsc/pcu_sock.c:588-
401
openbsc/openbsc/src/libbsc/pcu_sock.c:589-		bfd->when &= ~OSMO_FD_WRITE;
402
openbsc/openbsc/src/libbsc/pcu_sock.c:590-
403
openbsc/openbsc/src/libbsc/pcu_sock.c:591-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
404
openbsc/openbsc/src/libbsc/pcu_sock.c:592-		if (!msgb_length(msg)) {
405
openbsc/openbsc/src/libbsc/pcu_sock.c:593-			LOGP(DPCU, LOGL_ERROR, "message type (%d) with ZERO "
406
openbsc/openbsc/src/libbsc/pcu_sock.c:594-				"bytes!\n", pcu_prim->msg_type);
407
openbsc/openbsc/src/libbsc/pcu_sock.c:595-			goto dontsend;
408
openbsc/openbsc/src/libbsc/pcu_sock.c:596-		}
409
openbsc/openbsc/src/libbsc/pcu_sock.c:597-
410
openbsc/openbsc/src/libbsc/pcu_sock.c:598-		/* try to send it over the socket */
411
openbsc/openbsc/src/libbsc/pcu_sock.c:599-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
412
openbsc/openbsc/src/libbsc/pcu_sock.c:600-		if (rc == 0)
413
openbsc/openbsc/src/libbsc/pcu_sock.c:601-			goto close;
414
openbsc/openbsc/src/libbsc/pcu_sock.c:602-		if (rc < 0) {
415
openbsc/openbsc/src/libbsc/pcu_sock.c:603-			if (errno == EAGAIN) {
416
openbsc/openbsc/src/libbsc/pcu_sock.c:604-				bfd->when |= OSMO_FD_WRITE;
417
openbsc/openbsc/src/libbsc/pcu_sock.c:605-				break;
418
openbsc/openbsc/src/libbsc/pcu_sock.c:606-			}
419
openbsc/openbsc/src/libbsc/pcu_sock.c:607-			goto close;
420
openbsc/openbsc/src/libbsc/pcu_sock.c:608-		}
421
openbsc/openbsc/src/libbsc/pcu_sock.c:609-
422
openbsc/openbsc/src/libbsc/pcu_sock.c:610-dontsend:
423
openbsc/openbsc/src/libbsc/pcu_sock.c:611-		/* _after_ we send it, we can deueue */
424
openbsc/openbsc/src/libbsc/pcu_sock.c:612-		msg2 = msgb_dequeue(&state->upqueue);
425
openbsc/openbsc/src/libbsc/pcu_sock.c:613-		assert(msg == msg2);
426
openbsc/openbsc/src/libbsc/pcu_sock.c:614-		msgb_free(msg);
427
openbsc/openbsc/src/libbsc/pcu_sock.c:615-	}
428
openbsc/openbsc/src/libbsc/pcu_sock.c:616-	return 0;
429
openbsc/openbsc/src/libbsc/pcu_sock.c:617-
430
openbsc/openbsc/src/libbsc/pcu_sock.c:618-close:
431
openbsc/openbsc/src/libmsc/mncc_sock.c:140:static int mncc_sock_write(struct osmo_fd *bfd)
432
openbsc/openbsc/src/libmsc/mncc_sock.c:141-{
433
openbsc/openbsc/src/libmsc/mncc_sock.c:142-	struct mncc_sock_state *state = bfd->data;
434
openbsc/openbsc/src/libmsc/mncc_sock.c:143-	struct gsm_network *net = state->net;
435
openbsc/openbsc/src/libmsc/mncc_sock.c:144-	int rc;
436
openbsc/openbsc/src/libmsc/mncc_sock.c:145-
437
openbsc/openbsc/src/libmsc/mncc_sock.c:146-	while (!llist_empty(&net->upqueue)) {
438
openbsc/openbsc/src/libmsc/mncc_sock.c:147-		struct msgb *msg, *msg2;
439
openbsc/openbsc/src/libmsc/mncc_sock.c:148-		struct gsm_mncc *mncc_prim;
440
openbsc/openbsc/src/libmsc/mncc_sock.c:149-
441
openbsc/openbsc/src/libmsc/mncc_sock.c:150-		/* peek at the beginning of the queue */
442
openbsc/openbsc/src/libmsc/mncc_sock.c:151-		msg = llist_entry(net->upqueue.next, struct msgb, list);
443
openbsc/openbsc/src/libmsc/mncc_sock.c:152-		mncc_prim = (struct gsm_mncc *)msg->data;
444
openbsc/openbsc/src/libmsc/mncc_sock.c:153-
445
openbsc/openbsc/src/libmsc/mncc_sock.c:154-		bfd->when &= ~OSMO_FD_WRITE;
446
openbsc/openbsc/src/libmsc/mncc_sock.c:155-
447
openbsc/openbsc/src/libmsc/mncc_sock.c:156-		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
448
openbsc/openbsc/src/libmsc/mncc_sock.c:157-		if (!msgb_length(msg)) {
449
openbsc/openbsc/src/libmsc/mncc_sock.c:158-			LOGP(DMNCC, LOGL_ERROR, "message type (%d) with ZERO "
450
openbsc/openbsc/src/libmsc/mncc_sock.c:159-				"bytes!\n", mncc_prim->msg_type);
451
openbsc/openbsc/src/libmsc/mncc_sock.c:160-			goto dontsend;
452
openbsc/openbsc/src/libmsc/mncc_sock.c:161-		}
453
openbsc/openbsc/src/libmsc/mncc_sock.c:162-
454
openbsc/openbsc/src/libmsc/mncc_sock.c:163-		/* try to send it over the socket */
455
openbsc/openbsc/src/libmsc/mncc_sock.c:164-		rc = write(bfd->fd, msgb_data(msg), msgb_length(msg));
456
openbsc/openbsc/src/libmsc/mncc_sock.c:165-		if (rc == 0)
457
openbsc/openbsc/src/libmsc/mncc_sock.c:166-			goto close;
458
openbsc/openbsc/src/libmsc/mncc_sock.c:167-		if (rc < 0) {
459
openbsc/openbsc/src/libmsc/mncc_sock.c:168-			if (errno == EAGAIN) {
460
openbsc/openbsc/src/libmsc/mncc_sock.c:169-				bfd->when |= OSMO_FD_WRITE;
461
openbsc/openbsc/src/libmsc/mncc_sock.c:170-				break;
462
openbsc/openbsc/src/libmsc/mncc_sock.c:171-			}
463
openbsc/openbsc/src/libmsc/mncc_sock.c:172-			goto close;
464
openbsc/openbsc/src/libmsc/mncc_sock.c:173-		}
465
openbsc/openbsc/src/libmsc/mncc_sock.c:174-
466
openbsc/openbsc/src/libmsc/mncc_sock.c:175-dontsend:
467
openbsc/openbsc/src/libmsc/mncc_sock.c:176-		/* _after_ we send it, we can deueue */
468
openbsc/openbsc/src/libmsc/mncc_sock.c:177-		msg2 = msgb_dequeue(&net->upqueue);
469
openbsc/openbsc/src/libmsc/mncc_sock.c:178-		assert(msg == msg2);
470
openbsc/openbsc/src/libmsc/mncc_sock.c:179-		msgb_free(msg);
471
openbsc/openbsc/src/libmsc/mncc_sock.c:180-	}
472
openbsc/openbsc/src/libmsc/mncc_sock.c:181-	return 0;
473
openbsc/openbsc/src/libmsc/mncc_sock.c:182-
    (1-1/1)
    Add picture from clipboard (Maximum size: 48.8 MB)