mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-08-08 03:47:18 +00:00
Use standard IOV_MAX definition where applicable
This is provided by <limits.h> on all platforms as long as _XOPEN_SOURCE is defined. On Linux, this is 1024, on Solaris, this is 16, and on any other platform, we now respect the value supported by the OS. Signed-off-by: Dan McGee <dpmcgee@gmail.com>
This commit is contained in:
parent
bdfd6c234b
commit
016bc7513f
@ -47,8 +47,6 @@
|
||||
|
||||
#define ZERO_BUF_SIZE 4096
|
||||
|
||||
#define REDS_MAX_SEND_IOVEC 100
|
||||
|
||||
#define NET_TEST_WARMUP_BYTES 0
|
||||
#define NET_TEST_BYTES (1024 * 250)
|
||||
|
||||
|
||||
@ -329,7 +329,7 @@ static void red_channel_client_peer_prepare_out_msg(
|
||||
RedChannelClient *rcc = (RedChannelClient *)opaque;
|
||||
|
||||
*vec_size = spice_marshaller_fill_iovec(rcc->send_data.marshaller,
|
||||
vec, MAX_SEND_VEC, pos);
|
||||
vec, IOV_MAX, pos);
|
||||
}
|
||||
|
||||
static void red_channel_client_peer_on_out_block(void *opaque)
|
||||
|
||||
@ -22,17 +22,22 @@
|
||||
#ifndef _H_RED_CHANNEL
|
||||
#define _H_RED_CHANNEL
|
||||
|
||||
#include "red_common.h"
|
||||
#include <pthread.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include "red_common.h"
|
||||
#include "spice.h"
|
||||
#include "ring.h"
|
||||
#include "common/marshaller.h"
|
||||
#include "server/demarshallers.h"
|
||||
|
||||
#define MAX_SEND_BUFS 1000
|
||||
#define MAX_SEND_VEC 100
|
||||
#define CLIENT_ACK_WINDOW 20
|
||||
|
||||
#ifndef IOV_MAX
|
||||
#define IOV_MAX 1024
|
||||
#endif
|
||||
|
||||
#define MAX_HEADER_SIZE sizeof(SpiceDataHeader)
|
||||
|
||||
/* Basic interface for channels, without using the RedChannel interface.
|
||||
@ -109,7 +114,7 @@ typedef struct OutgoingHandlerInterface {
|
||||
typedef struct OutgoingHandler {
|
||||
OutgoingHandlerInterface *cb;
|
||||
void *opaque;
|
||||
struct iovec vec_buf[MAX_SEND_VEC];
|
||||
struct iovec vec_buf[IOV_MAX];
|
||||
int vec_size;
|
||||
struct iovec *vec;
|
||||
int pos;
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/ip.h>
|
||||
#include <netinet/tcp.h>
|
||||
@ -36,7 +37,9 @@
|
||||
#include "generated_marshallers.h"
|
||||
#include "demarshallers.h"
|
||||
|
||||
#define MAX_SEND_VEC 100
|
||||
#ifndef IOV_MAX
|
||||
#define IOV_MAX 1024
|
||||
#endif
|
||||
|
||||
#define RECIVE_BUF_SIZE (16 * 1024 * 2)
|
||||
|
||||
@ -262,7 +265,7 @@ static int snd_send_data(SndChannel *channel)
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
struct iovec vec[MAX_SEND_VEC];
|
||||
struct iovec vec[IOV_MAX];
|
||||
int vec_size;
|
||||
|
||||
if (!n) {
|
||||
@ -276,7 +279,7 @@ static int snd_send_data(SndChannel *channel)
|
||||
}
|
||||
|
||||
vec_size = spice_marshaller_fill_iovec(channel->send_data.marshaller,
|
||||
vec, MAX_SEND_VEC, channel->send_data.pos);
|
||||
vec, IOV_MAX, channel->send_data.pos);
|
||||
n = reds_stream_writev(channel->stream, vec, vec_size);
|
||||
if (n == -1) {
|
||||
switch (errno) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user