Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Side by Side Diff: ports/python3/nacl.patch

Issue 1066763002: Don't use select() in interactive python shell (Closed) Base URL: https://chromium.googlesource.com/external/naclports.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ports/python/nacl.patch ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 diff --git a/Include/datetime.h b/Include/datetime.h 1 diff --git a/Include/datetime.h b/Include/datetime.h
2 --- a/Include/datetime.h 2 --- a/Include/datetime.h
3 +++ b/Include/datetime.h 3 +++ b/Include/datetime.h
4 @@ -169,6 +169,8 @@ typedef struct { 4 @@ -169,6 +169,8 @@ typedef struct {
5 5
6 #ifdef Py_BUILD_CORE 6 #ifdef Py_BUILD_CORE
7 7
8 +#define PyDataTime_STATIC 1 8 +#define PyDataTime_STATIC 1
9 + 9 +
10 /* Macros for type checking when building the Python core. */ 10 /* Macros for type checking when building the Python core. */
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 +int uname(struct utsname *buf) 165 +int uname(struct utsname *buf)
166 +{ 166 +{
167 + sprintf(buf->sysname, "NaCl"); 167 + sprintf(buf->sysname, "NaCl");
168 + return 0; 168 + return 0;
169 +} 169 +}
170 +#endif 170 +#endif
171 + 171 +
172 int 172 int
173 main(int argc, char **argv) 173 main(int argc, char **argv)
174 { 174 {
175 diff --git a/Modules/readline.c b/Modules/readline.c
176 --- a/Modules/readline.c
177 +++ b/Modules/readline.c
178 @@ -1051,8 +1051,12 @@ setup_readline(readlinestate *mod_state)
179
180 /* Wrapper around GNU readline that handles signals differently. */
181
182 -
183 -#if defined(HAVE_RL_CALLBACK) && defined(HAVE_SELECT)
184 +/*
185 + * Don't use the select()-based readline under Native Client. While select()
186 + * is available and compile and link time it will fail at runtime under sel_ldr
187 + * since there is no IRT/syscall implemenation of select().
188 + */
189 +#if defined(HAVE_RL_CALLBACK) && defined(HAVE_SELECT) && !defined(__native_clie nt__)
190
191 static char *completed_input_string;
192 static void
175 diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c 193 diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
176 --- a/Modules/signalmodule.c 194 --- a/Modules/signalmodule.c
177 +++ b/Modules/signalmodule.c 195 +++ b/Modules/signalmodule.c
178 @@ -29,7 +29,7 @@ 196 @@ -29,7 +29,7 @@
179 # define PYPTHREAD_SIGMASK 197 # define PYPTHREAD_SIGMASK
180 #endif 198 #endif
181 199
182 -#if defined(PYPTHREAD_SIGMASK) && defined(HAVE_PTHREAD_H) 200 -#if defined(PYPTHREAD_SIGMASK) && defined(HAVE_PTHREAD_H)
183 +#if (defined(PYPTHREAD_SIGMASK) || defined(HAVE_PTHREAD_KILL)) && defined(HAVE_ PTHREAD_H) 201 +#if (defined(PYPTHREAD_SIGMASK) || defined(HAVE_PTHREAD_KILL)) && defined(HAVE_ PTHREAD_H)
184 # include <pthread.h> 202 # include <pthread.h>
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 handles[nhandles].ino = statb.st_ino; 276 handles[nhandles].ino = statb.st_ino;
259 } 277 }
260 } 278 }
261 +#endif 279 +#endif
262 280
263 dlopenflags = PyThreadState_GET()->interp->dlopenflags; 281 dlopenflags = PyThreadState_GET()->interp->dlopenflags;
264 282
265 diff --git a/Python/fileutils.c b/Python/fileutils.c 283 diff --git a/Python/fileutils.c b/Python/fileutils.c
266 --- a/Python/fileutils.c 284 --- a/Python/fileutils.c
267 +++ b/Python/fileutils.c 285 +++ b/Python/fileutils.c
268 @@ -707,6 +707,12 @@ set_inheritable(int fd, int inheritable, int raise, int *at omic_flag_works) 286 @@ -599,6 +599,12 @@ get_inheritable(int fd, int raise)
287
288 flags = fcntl(fd, F_GETFD, 0);
289 if (flags == -1) {
290 +#if defined(__native_client__) && !defined(__GLIBC__)
291 + /* When running under NaCl within the sel_ldr this fcntl() will always
292 + fail. However we don't want to completely remove this block since
293 + fcntl() is emulated using nacl_io when running within chrome. */
294 + return 0;
295 +#endif
296 if (raise)
297 PyErr_SetFromErrno(PyExc_OSError);
298 return -1;
299 @@ -707,6 +713,12 @@ set_inheritable(int fd, int inheritable, int raise, int *at omic_flag_works)
269 /* slow-path: fcntl() requires two syscalls */ 300 /* slow-path: fcntl() requires two syscalls */
270 flags = fcntl(fd, F_GETFD); 301 flags = fcntl(fd, F_GETFD);
271 if (flags < 0) { 302 if (flags < 0) {
272 +#if defined(__native_client__) && !defined(__GLIBC__) 303 +#if defined(__native_client__) && !defined(__GLIBC__)
273 + /* When running under NaCl within the sel_ldr this fcntl() will always fail. 304 + /* When running under NaCl within the sel_ldr this fcntl() will always
274 + i However we don't want to completely remove this block since fcntl() is 305 + fail. However we don't want to completely remove this block since
275 + emulated using nacl_io when running within chrome. */ 306 + fcntl() is emulated using nacl_io when running within chrome. */
276 + return 0; 307 + return 0;
277 +#endif 308 +#endif
278 if (raise) 309 if (raise)
279 PyErr_SetFromErrno(PyExc_OSError); 310 PyErr_SetFromErrno(PyExc_OSError);
280 return -1; 311 return -1;
281 diff --git a/Python/getversion.c b/Python/getversion.c 312 diff --git a/Python/getversion.c b/Python/getversion.c
282 --- a/Python/getversion.c 313 --- a/Python/getversion.c
283 +++ b/Python/getversion.c 314 +++ b/Python/getversion.c
284 @@ -8,8 +8,8 @@ 315 @@ -8,8 +8,8 @@
285 const char * 316 const char *
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 OpenUNIX*|UnixWare*) 473 OpenUNIX*|UnixWare*)
443 @@ -2155,7 +2167,7 @@ then 474 @@ -2155,7 +2167,7 @@ then
444 LINKFORSHARED="-Wl,-E -Wl,+s";; 475 LINKFORSHARED="-Wl,-E -Wl,+s";;
445 # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; 476 # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
446 BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";; 477 BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";;
447 - Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; 478 - Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";;
448 + Linux*|GNU*|NaCl*) LINKFORSHARED="-Xlinker -export-dynamic";; 479 + Linux*|GNU*|NaCl*) LINKFORSHARED="-Xlinker -export-dynamic";;
449 # -u libsys_s pulls in all symbols in libsys 480 # -u libsys_s pulls in all symbols in libsys
450 Darwin/*) 481 Darwin/*)
451 LINKFORSHARED="$extra_undefs -framework CoreFoundation" 482 LINKFORSHARED="$extra_undefs -framework CoreFoundation"
OLDNEW
« no previous file with comments | « ports/python/nacl.patch ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698