annotate iothread.h @ 88:2875fe2d8fd5

ubx: switch from stdio to read/write syscalls Occasionally, we'd run into deadlocks between iothread calling fgetc and the main thread calling fwrite. Instead of trying to diagnose the reason, it is simpler to just switch to xread/xwrite. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Mon, 22 Feb 2021 09:14:24 -0500
parents c3e0cc003206
children 71cae6a9a299
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
1 /*
88
2875fe2d8fd5 ubx: switch from stdio to read/write syscalls
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 83
diff changeset
2 * Copyright (c) 2019-2021 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
3 *
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
5 * of this software and associated documentation files (the "Software"), to deal
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
6 * in the Software without restriction, including without limitation the rights
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
8 * copies of the Software, and to permit persons to whom the Software is
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
9 * furnished to do so, subject to the following conditions:
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
10 *
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
11 * The above copyright notice and this permission notice shall be included in
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
12 * all copies or substantial portions of the Software.
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
13 *
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
20 * SOFTWARE.
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
21 */
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
22
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
23 #ifndef __IOTHREAD_H
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
24 #define __IOTHREAD_H
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
25
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
26 #include <stdio.h>
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
27
46
0f758661d962 capture: add a verbose mode to ease debugging
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 38
diff changeset
28 #include <jeffpc/types.h>
0f758661d962 capture: add a verbose mode to ease debugging
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 38
diff changeset
29
88
2875fe2d8fd5 ubx: switch from stdio to read/write syscalls
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 83
diff changeset
30 extern int iothread_start(int ifile, FILE *lfile, bool verbose,
83
c3e0cc003206 iothread: request device serial and version numbers every 30 mins
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 46
diff changeset
31 bool poll_version);
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
32
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
33 #endif