Comments (8)
After looking up some information, I found that it is not safe to call signal handlers after dlclose().
from ios_system.
Yes, but ios_kill
is called before pdftex is terminated, so it is called before dlclose()
.
Some function or command has registered a signal handler for SIGINT
, with the pointer 0x13797563c
. The question is who, and why was it not updated?
from ios_system.
I don't have a solution to the signal handle problem. But after reading the source code (line 2387) of texlive, I just found a way to kill the pdftex compilation process.
Get the pointer to the TeX interrupt with the following code.
void *handle = NULL; int *TeX_interrupt_Pointer = NULL; handle = dlopen(libraryName.UTF8String, RTLD_LAZY | RTLD_GLOBAL); TeX_interrupt_Pointer = dlsym(handle, "interrupt");
Then, in ios_kill(), only one line is needed:
*TeX_interrupt_Pointer = 1;
from ios_system.
That would be a very specific solution (it only works if the command running is pdftex).
The solution was to change the function called by SIGINT (catch_interrupt
, in texmfmp.c
) from a static
function to a non-static function.
from ios_system.
It works fine! Thank you.
from ios_system.
Out of curiosity, are you using the patched source at https://github.com/holzschu/texlive-source?
from ios_system.
I use the source https://github.com/holzschu/lib-tex, and ios_system
version which I used is 3.0.0.
The latest version of ios_system
always calls a framework called pdftexA
when I call pdftex for the second time, but I can't find the framework of pdftexA
.
from ios_system.
lib-tex
is an old repository (based on texlive-2019), you should use texlive-source
: https://github.com/holzschu/texlive-source which is based on texlive-2022. Build instructions are the same.
You even have precompiled binaries here: https://github.com/holzschu/texlive-source/releases/tag/texlive-2022 but obviously they don't have the recent bug fix yet.
from ios_system.
Related Issues (20)
- Not on my device
- Adding "btfs", go-btfs. Bounty $$ offer HOT 1
- Request for jq and json2csv HOT 19
- Build fails (when using as package dependency) , build target iPad simulator HOT 1
- Change dependency on commands source code to submodules
- Newby question: Opening files not working HOT 3
- Request for GitHub CLI
- iOS bash HOT 3
- Hacker HOT 1
- ### Board HOT 2
- Clang Memory Leaks with ios_system HOT 5
- Ios
- Not able to run swift run --package-path xcfs build HOT 3
- A buffer over-read exists in curl 7.20.0 to and including curl 7.58.0
- A NULL pointer dereference exists in curl 7.21.0 to and including curl 7.58.0 in the LDAP code
- libcurl versions from 7.36.0 to before 7.64.0 is vulnerable to a heap buffer out-of-bounds read.
- Build input file cannot be found: x509asn1.c and wildcard.c
- Executing Ctrl-^ as a command crashes the app HOT 4
- Is sshd available? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ios_system.