标签: abort

如何中止/取消TPL任务?

在一个线程中,我创建一些System.Threading.Task并启动每个任务.

当我做一个.Abort()杀死线程时,任务不会中止.

我怎样才能传递.Abort()给我的任务?

.net c# multithreading task abort

144
推荐指数
7
解决办法
15万
查看次数

exit()和abort()有什么区别?

在C和C++中,exit()和之间有什么区别abort()?我试图在错误后结束我的程序(不是例外).

c c++ error-handling exit abort

127
推荐指数
5
解决办法
6万
查看次数

如果--abort不起作用,如何中止交互式rebase?

我通过一个互动的rebase让自己陷入困境,现在我想放弃它.(即回到我被放入交互式rebase模式之前的点,在我的情况下,通过git pull --rebase.)这样做的方法似乎是通过git rebase --abort,但这不起作用:

$ git rebase --abort
error: Ref refs/heads/master is at 55b388c141b1485b1acd9e050dbeb0eb90ef2ee7 but
expected b918ac16a33881ce00799bea63d9c23bf7022d67
fatal: Cannot lock the ref 'refs/heads/master'.
Could not move back to refs/heads/master
Run Code Online (Sandbox Code Playgroud)

如何退出交互式rebase模式,并清除所有对它的引用?(git reset --hard成功,但不会让我退出rebase模式.)

git rebase exit abort quit

127
推荐指数
1
解决办法
16万
查看次数

Xcode 8 cocoapods中止陷阱:6

localhost:PodTest3 haiwang$ pod install
Analyzing dependencies
Downloading dependencies
Installing MBProgressHUD (0.9.2)
Installing Masonry (1.0.2)
Generating Pods project
Abort trap: 6
Run Code Online (Sandbox Code Playgroud)

升级到Xcode 8后,cocoapods不再起作用.我试图卸载并安装,但它仍然无法正常工作.

abort cocoapods xcode8

92
推荐指数
6
解决办法
3万
查看次数

如何以编程方式在C/C++中导致核心转储

我想在我的C++应用程序中的特定位置强制执行核心转储.

我知道我可以做以下事情:

int * crash = NULL;
*crash = 1;
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更干净的方式?

我顺便使用Linux.

c c++ linux coredump abort

84
推荐指数
6
解决办法
7万
查看次数

如何中止Git Bisect

我通过指定好的和坏的修订开始我的git bisect,但我不认为他们注册了.另外,因为我试图指定git bisect好坏,我不认为git正在做任何事情.我想中止整个二等分,以便我可以重新启动操作.git bisect reset似乎是我正在寻找的东西,但我想在可能弄乱任何东西之前仔细检查.

git abort git-bisect

73
推荐指数
1
解决办法
8493
查看次数

Response.Redirect导致"对象移动到此处"

我正在开发一个C#ASP.NET页面,通常最终会重定向到"file:"URL.在大多数情况下,这似乎在大多数情况下工作正常,但偶尔(并且,在我的测试系统上,显然总是)而不是重定向到文件我得到一个文本"对象移到这里"的页面,其中"here"是我尝试重定向到的文件的链接,但在冒号后面有两个斜杠而不是两个(即"file:////testserver/docs/testdoc.doc")

这通常伴随着"System.Threading.ThreadAbortException:Thread is aborted"消息.

我在其他地方寻找解决方案并找到一些有关Response.Redirect的有趣内容导致ThreadAbort异常,但这似乎不是根本问题 - 在我看来,实际问题是"对象移到这里"消息,导致抛出异常.

任何人都有任何建议我为什么会这样......?

编辑:忘记提及我正在使用IE Tab运行Firefox(3.5.7),所以当我想我最好在IE中试用它时,瞧它 - 它适用于IE(7).

c# asp.net exception abort

35
推荐指数
3
解决办法
6万
查看次数

即使在调用abort之后浏览器也会等待ajax调用完成(jQuery)

我有一些(可能)长时间运行的ajax调用,如果用户导航到另一个页面,我想中止.以下jQuery代码在导航离开页面时调用所有挂起的XMLHttpRequest对象的中止:

$.ajaxSetup({
    beforeSend: function(xhr) {
        $(window).bind('beforeunload', function() {
            xhr.abort();
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

在测试用例中,我强制在被调用的服务器端操作上等待10秒.使用Firebug,我确认上面的代码确实导致所有挂起的ajax调用在我单击页面上的任何链接时立即停止.但是,浏览器仍然等待整整10秒,然后再转到下一页.IE似乎表现出相同的行为.这是一个已知的浏览器行为吗?在这种情况下,我能做些什么让用户立即离开页面?提前致谢.

javascript jquery xmlhttprequest onbeforeunload abort

29
推荐指数
2
解决办法
1万
查看次数

Flask - 如何创建自定义abort()代码?

通过使用abort()或当错误真正发生时,Flask有一个很好的错误处理程序.

从Flask文档中有一个错误404处理程序的示例:

@app.errorhandler(404)
def not_found(error):
    return render_template('404.html'), 404
Run Code Online (Sandbox Code Playgroud)

所以,我尝试创建自定义错误代码

if False:
    abort(777)

@app.errorhandler(777)
def something_is_wrong(error):
    return render_template('777.html'), 777
Run Code Online (Sandbox Code Playgroud)

但它不起作用,Werkzeug调试器说:LookupError:777也不例外

我发现这个问题说我应该这样做:

if False:
    return '777 error', 777
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的代码产生了白屏,甚至Werkzeug调试器都没有出来

我知道我可以做到:

if False:
    return render_template('777.html')
Run Code Online (Sandbox Code Playgroud)

但如果我使用它,它将使代码更清晰abort().有没有办法创建自定义错误代码?

python abort flask

29
推荐指数
3
解决办法
4万
查看次数

C#的使用语句是否中止?

我刚读完"Nutshell中的C#4.0"(O'Reilly),我认为这对于愿意转向C#的程序员来说是一本好书,但它让我感到疑惑.我的问题是using声明的定义.根据这本书(第138页),

using (StreamReader reader = File.OpenText("file.txt")) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

恰好相当于:

StreamReader reader = File.OpenText("file.txt");
try {
    ...
} finally {
    if (reader != null)
        ((IDisposable)reader).Dispose();
}
Run Code Online (Sandbox Code Playgroud)

但是,假设这是真的,并且此代码在单独的线程中执行.此线程现在已中止thread.Abort(),因此ThreadAbortException抛出a并假设线程正好在初始化读取器之后和输入try..finally子句之前.这意味着读者不会被处置!

一种可能的解决方案是以这种方式编码:

StreamReader reader = null;
try {
    reader = File.OpenText("file.txt");
    ...
} finally {
    if (reader != null)
        ((IDisposable)reader).Dispose();
}
Run Code Online (Sandbox Code Playgroud)

这将是中止安全的.

现在我的问题:

  1. 这本书的作者是否正确,using声明是不是中止安全还是错误,它的行为与我的第二个解决方案相似?
  2. 如果using等同于第一方案(不放弃安全的),为什么它检查nullfinally
  3. 根据该书(第856页),ThreadAbortException可以在托管代码中的任何位置抛出.但也许有例外,第一个变种毕竟是中止安全的?

编辑:我知道使用thread.Abort()不被认为是好习惯.我的兴趣是纯粹的理论:如何在using声明中表现究竟

c# multithreading using-statement thread-safety abort

28
推荐指数
3
解决办法
3224
查看次数