Default to a single receive thread on Windows
This works around a termination issue on Windows caused by the process sometimes being unable to send a packet to itself to wake up a thread stuck in a blocking read on a socket. Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
263d8016b8
commit
bb76798492
7 changed files with 75 additions and 34 deletions
|
@ -344,7 +344,7 @@ sub conv_to_rnc {
|
|||
} elsif ($fs->{kstr} eq "Enum") {
|
||||
die unless exists $enum_values{$fs->{typehint}};
|
||||
my @vs = split /;/, $enum_values{$fs->{typehint}};
|
||||
printf $fh "${indent} ${sep}%s\n", (join '|', map { "\"$_\"" } @vs);
|
||||
printf $fh "${indent} ${sep}(%s)\n", (join '|', map { "\"$_\"" } @vs);
|
||||
} elsif ($fs->{kstr} eq "Int") {
|
||||
printf $fh "${indent} ${sep}xsd:integer\n";
|
||||
#if (exists $range{$lctn} || exists $range{$fs->{typehint}}) {
|
||||
|
|
|
@ -903,15 +903,17 @@ The default value is: "-1".
|
|||
#### //CycloneDDS/Domain/Internal/MultipleReceiveThreads
|
||||
Attributes: [maxretries](#cycloneddsdomaininternalmultiplereceivethreadsmaxretries)
|
||||
|
||||
Boolean
|
||||
One of: false, true, default
|
||||
|
||||
This element controls whether all traffic is handled by a single receive
|
||||
thread or whether multiple receive threads may be used to improve
|
||||
latency. Currently multiple receive threads are only used for
|
||||
connectionless transport (e.g., UDP) and ManySocketsMode not set to
|
||||
single (the default).
|
||||
thread (false) or whether multiple receive threads may be used to improve
|
||||
latency (true). By default it is disabled on Windows because it appears
|
||||
that one cannot count on being able to send packets to oneself, which is
|
||||
necessary to stop the thread during shutdown. Currently multiple receive
|
||||
threads are only used for connectionless transport (e.g., UDP) and
|
||||
ManySocketsMode not set to single (the default).
|
||||
|
||||
The default value is: "true".
|
||||
The default value is: "default".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/MultipleReceiveThreads[@maxretries]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue