Lines Matching +full:closed +full:- +full:loop
5 #include "qemu/config-file.h"
9 #include "chardev/char-fe.h"
12 #include "qapi/qapi-commands-char.h"
14 #include "qom/qom-qobject.h"
15 #include "io/channel-socket.h"
16 #include "qapi/qobject-input-visitor.h"
17 #include "qapi/qapi-visit-sockets.h"
18 #include "socket-helpers.h"
43 return sizeof(h->read_buf) - h->read_count; in fe_can_read()
52 memcpy(h->read_buf + h->read_count, buf, size); in fe_read()
53 h->read_count += size; in fe_read()
62 h->last_event = event; in fe_event()
68 h->openclose_count++; in fe_event()
70 if (h->is_open == new_open_state) { in fe_event()
71 h->openclose_mismatch = true; in fe_event()
73 h->is_open = new_open_state; in fe_event()
87 opts = qemu_opts_create(qemu_find_opts("chardev"), "console-label", in char_console_test_subprocess()
139 opts = qemu_opts_create(qemu_find_opts("chardev"), "ringbuf-label", in char_ringbuf_test()
148 opts = qemu_opts_create(qemu_find_opts("chardev"), "ringbuf-label", in char_ringbuf_test()
160 data = qmp_ringbuf_read("ringbuf-label", 4, false, 0, &error_abort); in char_ringbuf_test()
164 data = qmp_ringbuf_read("ringbuf-label", 4, false, 0, &error_abort); in char_ringbuf_test()
171 opts = qemu_opts_create(qemu_find_opts("chardev"), "memory-label", in char_ringbuf_test()
191 opts = qemu_opts_create(qemu_find_opts("chardev"), "mux-label", in char_mux_test()
201 qmp_chardev_remove("mux-label", &error_abort); in char_mux_test()
202 qmp_chardev_remove("mux-label-base", &error_abort); in char_mux_test()
204 opts = qemu_opts_create(qemu_find_opts("chardev"), "mux-label", in char_mux_test()
232 base = qemu_chr_find("mux-label-base"); in char_mux_test()
247 qemu_chr_be_event(chr, -1); in char_mux_test()
249 g_assert_cmpint(h2.last_event, ==, -1); in char_mux_test()
259 qemu_chr_be_event(chr, -1); in char_mux_test()
260 g_assert_cmpint(h1.last_event, ==, -1); in char_mux_test()
348 data = qmp_ringbuf_read("mux-label-base", 128, false, 0, &error_abort); in char_mux_test()
354 qmp_chardev_remove("mux-label", &error); in char_mux_test()
355 g_assert_cmpstr(error_get_pretty(error), ==, "Chardev 'mux-label' is busy"); in char_mux_test()
359 qmp_chardev_remove("mux-label", &error_abort); in char_mux_test()
420 qemu_opt_set(opts, "chardevs.0", "chr0-base", &error_abort); in char_hub_test()
423 "chardev 'chr0-base' is already in use"); in char_hub_test()
582 gchar *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL); in char_hub_test()
676 != -1) { in char_hub_test()
683 g_assert_cmpint(ret, ==, -1); in char_hub_test()
697 while ((ret = read(fd, buf, MIN(sizeof(buf), len))) != -1 && len > 0) { in char_hub_test()
698 len -= ret; in char_hub_test()
781 "Sec-WebSocket-Accept:", in websock_check_http_headers()
782 "Sec-WebSocket-Protocol: binary\r\n" }; in websock_check_http_headers()
806 qemu_chr_fe_write(chr_client->be, ping, sizeof(ping)); in websock_client_read()
809 qemu_chr_fe_write(chr_client->be, binary, sizeof(binary)); in websock_client_read()
841 "Sec-WebSocket-Key: o9JHNiS3/0/0zYE1wa3yIw==\r\n" in char_websock_test()
842 "Sec-WebSocket-Version: 13\r\n" in char_websock_test()
843 "Sec-WebSocket-Protocol: binary\r\n\r\n"; in char_websock_test()
887 gchar *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL); in char_pipe_test()
911 ret = qemu_chr_fe_write(&be, (void *)"pipe-out", 9); in char_pipe_test()
917 g_assert_cmpstr(buf, ==, "pipe-out"); in char_pipe_test()
921 ret = write(fd, "pipe-in", 8); in char_pipe_test()
936 g_assert_cmpstr(fe.read_buf, ==, "pipe-in"); in char_pipe_test()
951 GMainLoop *loop; member
1004 be = chr->be; in char_udp_test_internal()
1058 data->event = event; in char_socket_event()
1066 CharBackend *be = data->be; in char_socket_event_with_error()
1067 data->event = event; in char_socket_event_with_error()
1089 data->got_pong = true; in char_socket_read()
1114 fd = ioc->fd; in char_socket_addr_to_opt_str()
1115 ioc->fd = -1; in char_socket_addr_to_opt_str()
1121 switch (addr->type) { in char_socket_addr_to_opt_str()
1124 addr->u.inet.host, in char_socket_addr_to_opt_str()
1125 addr->u.inet.port, in char_socket_addr_to_opt_str()
1131 addr->u.q_unix.path, in char_socket_addr_to_opt_str()
1152 return -1; in char_socket_ping_pong()
1201 * We rely on config->addr containing "wait=off", otherwise in char_socket_server_test()
1207 optstr = char_socket_addr_to_opt_str(config->addr, in char_socket_server_test()
1208 config->fd_pass, in char_socket_server_test()
1230 data.event = -1; in char_socket_server_test()
1235 g_assert(data.event == -1); in char_socket_server_test()
1239 * which just plays ping-pong with us in char_socket_server_test()
1244 g_assert(data.event == -1); in char_socket_server_test()
1246 if (config->wait_connected) { in char_socket_server_test()
1252 * loop reports the listener socket as readable in char_socket_server_test()
1254 while (data.event == -1) { in char_socket_server_test()
1260 data.event = -1; in char_socket_server_test()
1266 g_assert(data.event == -1); in char_socket_server_test()
1274 data.event = -1; in char_socket_server_test()
1277 while (data.event == -1) { in char_socket_server_test()
1340 qio_channel_socket_listen_sync(ioc, config->addr, 1, &error_abort); in char_socket_client_dupid_test()
1349 config->fd_pass, in char_socket_client_dupid_test()
1350 config->reconnect, in char_socket_client_dupid_test()
1374 const char_socket_cb event_cb = config->event_cb; in char_socket_client_test()
1392 qio_channel_socket_listen_sync(ioc, config->addr, 1, &error_abort); in char_socket_client_test()
1398 * which just plays ping-pong with us in char_socket_client_test()
1409 config->fd_pass, in char_socket_client_test()
1410 config->reconnect, in char_socket_client_test()
1420 if (config->reconnect) { in char_socket_client_test()
1425 * run the main event loop, or call qemu_chr_wait_connected in char_socket_client_test()
1437 data.event = -1; in char_socket_client_test()
1442 if (config->reconnect) { in char_socket_client_test()
1443 g_assert(data.event == -1); in char_socket_client_test()
1448 if (config->wait_connected) { in char_socket_client_test()
1451 * This should be a no-op if reconnect is not set. in char_socket_client_test()
1459 * The loop will short-circuit if reconnect was set in char_socket_client_test()
1461 while (data.event == -1) { in char_socket_client_test()
1466 data.event = -1; in char_socket_client_test()
1473 g_assert(data.event == -1); in char_socket_client_test()
1481 data.event = -1; in char_socket_client_test()
1484 while (data.event == -1) { in char_socket_client_test()
1492 if (config->reconnect && !reconnected) { in char_socket_client_test()
1531 int closed = 0; in char_socket_server_two_clients_test() local
1565 &closed, NULL, true); in char_socket_server_two_clients_test()
1575 &closed, ctx, true); in char_socket_server_two_clients_test()
1587 if (closed == 1 && ioc2) { in char_socket_server_two_clients_test()
1591 if (closed == 2) { in char_socket_server_two_clients_test()
1610 opts = qemu_opts_create(qemu_find_opts("chardev"), "serial-id", in char_serial_test()
1630 opts = qemu_opts_create(qemu_find_opts("chardev"), "parallel-id", in char_parallel_test()
1653 char *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL); in char_file_fifo_test()
1668 ret = write(fd, "fifo-in", 8); in char_file_fifo_test()
1671 chr = qemu_chardev_new("label-file", TYPE_CHARDEV_FILE, &backend, in char_file_fifo_test()
1683 qmp_chardev_send_break("label-foo", NULL); in char_file_fifo_test()
1685 qmp_chardev_send_break("label-file", NULL); in char_file_fifo_test()
1693 g_assert_cmpstr(fe.read_buf, ==, "fifo-in"); in char_file_fifo_test()
1708 char *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL); in char_file_test_internal()
1758 chr = qemu_chr_find("label-null"); in char_null_test()
1761 chr = qemu_chr_new("label-null", "null", NULL); in char_null_test()
1762 chr = qemu_chr_find("label-null"); in char_null_test()
1798 chr = qemu_chr_new("label-invalid", "invalid", NULL); in char_invalid_test()
1810 return -1; in chardev_change_denied()
1819 gchar *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL); in char_hotswap_test()
1881 .u.q_unix.path = (char *)"test-char.sock",
1918 g_test_add_func("/char/file-fifo", char_file_fifo_test); in main()
1932 g_test_add_data_func("/char/socket/server/wait-conn/" # name, \ in main()
1934 g_test_add_data_func("/char/socket/server/mainloop-fdpass/" # name, \ in main()
1936 g_test_add_data_func("/char/socket/server/wait-conn-fdpass/" # name, \ in main()
1945 { addr, ",reconnect-ms=1000", false, false, char_socket_event }; \ in main()
1947 { addr, ",reconnect-ms=1000", true, false, char_socket_event }; \ in main()
1953 { addr, ",reconnect-ms=1000", true, false, \ in main()
1956 { addr, ",reconnect-ms=1000", false, false, char_socket_event };\ in main()
1959 g_test_add_data_func("/char/socket/client/wait-conn/" # name, \ in main()
1961 g_test_add_data_func("/char/socket/client/mainloop-reconnect/" # name, \ in main()
1963 g_test_add_data_func("/char/socket/client/wait-conn-reconnect/" # name, \ in main()
1965 g_test_add_data_func("/char/socket/client/mainloop-fdpass/" # name, \ in main()
1967 g_test_add_data_func("/char/socket/client/wait-conn-fdpass/" # name, \ in main()
1969 g_test_add_data_func("/char/socket/client/reconnect-error/" # name, \ in main()
1971 g_test_add_data_func("/char/socket/client/dupid-reconnect/" # name, \ in main()
1977 g_test_add_data_func("/char/socket/server/two-clients/tcp", &tcpaddr, in main()
1983 g_test_add_data_func("/char/socket/server/two-clients/unix", &unixaddr, in main()